WEB开发网
开发学院软件开发VC VC中利用FLASH制作图声并茂的动画程序 阅读

VC中利用FLASH制作图声并茂的动画程序

 2010-06-29 20:41:24 来源:WEB开发网   
核心提示:首先我们将各个模块作为资源加入资源中,定义整数标识和类型,VC中利用FLASH制作图声并茂的动画程序(2),这些资源文件打包将在程序运行的时候解出,以下是从资源释放到文件的函数:int res2file(LPCTSTR lpName,LPCTSTR lpType,LPCTSTR filename){//输入:lpNam

首先我们将各个模块作为资源加入资源中。定义整数标识和类型。这些资源文件打包将在程序运行的时候解出。以下是从资源释放到文件的函数:

int res2file(LPCTSTR lpName,LPCTSTR lpType,LPCTSTR filename)
{
//输入:lpName 为资源名,可用MAKEINTRESOURCE()宏将整型变为字符串。
//LpType 为串类型名
//Filename 为释放出的文件名。
//输出:成功1,失败0
HRSRC myres = FindResource (NULL,lpName,lpType);
HGLOBAL gl = LoadResource (NULL,myres);
LPVOID lp = LockResource(gl);//返回指向资源内存的地址的指针。
// CREATE_ALWAYS为不管文件存不存在都产生新文件。
HANDLE fp = CreateFile(filename ,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,0,NULL);
if (!fp)
  return false;
DWORD a;
//sizeofResource 得到资源文件的大小
if(!WriteFile (fp,lp,SizeofResource(NULL,myres),&a,NULL))
  return false;
CloseHandle(fp);
FreeResource(gl);
return true;
}
以下是调用的方法:
res2file (MAKEINTRESOURCE(IDR_ZF),"swf","zf.swf");
res2file (MAKEINTRESOURCE(IDR_ZG),"swf","zg.swf");
res2file (MAKEINTRESOURCE(IDR_DOT),"acs","DOT.ACS");
res2file (MAKEINTRESOURCE(IDR_SHARE),"dll","share.dll");
res2file (MAKEINTRESOURCE(IDR_TALK),"dll","talk.dll");
res2file (MAKEINTRESOURCE(IDR_SWFLASH),"ocx","swflash.ocx");

(3)通过VC和VB的通信实现多个不同模块的顺序执行

在程序中我们需要调用VB模块并等待它执行完毕再继续我们的VC程序,这就涉及到VC与VB之间的通讯问题,在这里我使用事件来解决这个问题,请看如下代码:

CreateEvent(NULL,false,false,"lsbeven");
然后,调用ms agent 动画
PROCESS_INFORMATION pi;
STARTUPINFO si={0};
si.cb=sizeof(si);
char *a =new char [255];
GetCurrentDirectory (255,a);
CString *str=new CString(a);
//AfxMessageBox (*des);
//AfxMessageBox (*sou);
*str+=CString("\\talk.e\0");
BOOL fRet=CreateProcess(NULL,
   str->GetBuffer (5),
   NULL,
   NULL,
   FALSE,
   0,
   NULL,
   NULL,
   &si,
   &pi);

最后,用WaitForSingleObject (heven,40000)等待事件被触发。(40s超时)

上一页  1 2 3 4  下一页

Tags:VC 利用 FLASH

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接