• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Fcoding_狂人
自由 编码 Fcoding
博客园    首页    新随笔    联系   管理     

资源释放 和创建进程

ReleaseRes(szVerFile,(WORD)IDR_VER1,"VER");

BOOL ReleaseRes(CHAR* strFileName,WORD wResID,CHAR* strFileType) { // 资源大小 DWORD dwWrite=0; // 创建文件 HANDLE hFile = CreateFile(strFileName, GENERIC_WRITE,FILE_SHARE_WRITE,NULL, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); if ( hFile == INVALID_HANDLE_VALUE ) { LOG(RSLOG_ACTION,"CreateFile Failed! File=%s",strFileName); return FALSE; } // 查找资源文件中、加载资源到内存、得到资源大小 HRSRC hrsc = FindResource(NULL, MAKEINTRESOURCE(wResID), strFileType); HGLOBAL hG = LoadResource(NULL, hrsc); DWORD dwSize = SizeofResource( NULL, hrsc); // 写入文件 WriteFile(hFile,hG,dwSize,&dwWrite,NULL); CloseHandle( hFile ); return TRUE; }
BOOL RunAPP(LPSTR szMakeFile ,LPSTR batparam );

BOOL RunAPP(LPSTR szMakeFile ,LPSTR batparam ){ STARTUPINFO stStartInfo; PROCESS_INFORMATION stProcessInfo; ZeroMemory(&stStartInfo, sizeof(STARTUPINFO)); stStartInfo.cb = sizeof(STARTUPINFO); GetStartupInfo(&stStartInfo); CHAR AppName[RSMAX_PATH]={0}; sprintf(AppName,"%s %s",szMakeFile,batparam); LOG(RSLOG_ACTION,"Run exe %s param %s",szMakeFile,batparam); DWORD dwReturn; if( CreateProcess(NULL,AppName, NULL, NULL, FALSE, 0, NULL, NULL, &stStartInfo, &stProcessInfo) ) { WaitForSingleObject(stProcessInfo.hProcess, INFINITE); GetExitCodeProcess(stProcessInfo.hProcess, &dwReturn); if (dwReturn!=0) { LOG(RSLOG_ACTION,"Process Exit ,ExitCode=%d",dwReturn); return FALSE; }else{ LOG(RSLOG_ACTION,"Process %s Success.",szMakeFile); } return TRUE; } return FALSE; }

 

posted @ 2012-09-17 18:20  Fcoding_狂人  阅读(614)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3