您的位置:首页 > 其它

如何直接运行一个资源中的程序

2009-04-15 13:45 323 查看
  在写一个小东东的时候,想不到里面的一段代码在自己硬盘的VC知识库里竟然有,而且又是徐景周发布的帖子。其实会了这段小代码,或者说小技巧挺有意思的。可以做个面板,然后里面调用其他自己写的小exe都行的。



代码如下:

CFile f;
       char* pFileName = "Execution.exe";
       if( !f.Open( pFileName, CFile::modeCreate | CFile::modeWrite, NULL ) )
       {
              AfxMessageBox("Can not create file!");
              return 0;
       }
       CString path = f.GetFilePath();
       HGLOBAL hRes;
       HRSRC hResInfo;
     //获取应用实例  
       HINSTANCE insApp = AfxGetInstanceHandle();
     //寻找EXE资源名
       hResInfo = FindResource(insApp,(LPCSTR)IDR_EXE4,"EXE");
       hRes = LoadResource(insApp,hResInfo );   // Load it
       DWORD dFileLength = SizeofResource( insApp, hResInfo );  //计算EXE文件大小
       f.WriteHuge((LPSTR)hRes,dFileLength);  //写入临时文件
       f.Close();
       HINSTANCE HINSsd = ShellExecute(NULL, "open",path, NULL, NULL, SW_SHOWNORMAL);> //运行它.




PS。在VS2005里增加CHM与EXE等资源竟然让我纠结了许久啊。。哈。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐