描述:
请教各位大虾:最近我用VC++6.0开发一个应用软件,其中用到了flash控件,当初编写软件时,控件是通过安装flash软件而得到的。现在软件编写完了,并在装有flash软件的情况下可以正确运行,但当重装系统后不安装flash软件时,程序运行时就出错,flash无法播放,而作为一个软件应该是独立的,请问:在不装flash软件的前提下,采用怎样的方法才能使软件独立运行?万分感谢!
解决方案1:
把这个DD安装一下就可以了 : http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab
自己带一个flash的activex?
然后安装的时候一并装上?
不用这样子, 你直接调用 系统的 Regsvr32.exe 就行
WinExec("Regsvr32.exe Flash.ocx", SW_SHOW);
注意 Flash.ocx的路径问题, 最好填全路径
你在程序中调用一下控件的DllRegiserServer就行了。typedef VOID (*REGPROC)(VOID);
BOOL CTestdlgDlg::RegisterOcx()
{
HMODULE hOcx = ::LoadLibrary("DirControl.ocx");
if( NULL == hOcx )
{
CString strErr;
strErr.Format("ÕÒ²»µ½³ÌÐòÔËÐÐÐèÒªµÄDirControl.ocx£¬´íÎóºÅ %d .\n³ÌÐòÎÞ·¨ÔËÐС£",GetLastError());
return FALSE;
}
else
{
REGPROC RegProc;
RegProc =(REGPROC) GetProcAddress(hOcx, "DllRegisterServer");
if( NULL == RegProc)
{
AfxMessageBox("´íÎó£ºDirControl.ocxÒÑË𻵣¬ÎÞ·¨×¢²á£¡");
return FALSE;
}
else
RegProc();
FreeLibrary(hOcx);
}
AfxMessageBox("reg ok!");
return TRUE;
}