zoukankan      html  css  js  c++  java
  • 将EXE作为资源,然后在释放到磁盘上并运行该exe程序(使用了FindResource,LoadResource,然后用CFile写成一个文件)

    [cpp] view plain copy
     
    1. // 将exe作为资源加入,然后再释放出来,并运行  
    2. try  
    3.     {  
    4.         HRSRC hRes = FindResource(NULL, MAKEINTRESOURCE(IDR_EXE1), _T("EXE"));  
    5.         if(NULL == hRes)   
    6.             return ;   
    7.           
    8.         DWORD dwSize = SizeofResource(NULL, hRes);   
    9.         if(0 == dwSize)   
    10.             return ;   
    11.           
    12.         HGLOBAL hGlobal = LoadResource(NULL, hRes);   
    13.         if(NULL == hGlobal)   
    14.             return ;   
    15.           
    16.         LPVOID lp = LockResource(hGlobal);   
    17.         if(NULL == lp)   
    18.             return ;   
    19.   
    20.         CFile file;  
    21.         TCHAR szApp[MAX_PATH] = {_T("F://11.exe")};  
    22.         file.Open(szApp, CFile::modeCreate | CFile::modeWrite);  
    23.         file.WriteHuge(lp, dwSize);  
    24.         file.Close();  
    25.   
    26.         FreeResource (hGlobal);  
    27.   
    28.         if(PathFileExists(szApp))  
    29.         {  
    30.             STARTUPINFO si = {sizeof(si)};  
    31.             PROCESS_INFORMATION pi = {0};  
    32.             if(CreateProcess(NULL, szApp, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))  
    33.             {  
    34.                 CloseHandle(pi.hThread);  
    35.                 CloseHandle(pi.hProcess);  
    36.             }  
    37.         }  
    38.     }  
    39.     catch (CException* e)  
    40.     {  
    41.         e->ReportError();  
    42.         e->Delete();  
    43.     }  

    http://blog.csdn.net/visualeleven/article/details/6035381 

     
     
  • 相关阅读:
    机器学习之线性回归
    Anaconda使用
    Pycharm使用总结
    Mysql使用小tips
    技术转型与考研总结
    C语言的学习
    python 使用小结
    RedHat Linux 忘记密码
    设计模式之单例模式
    Java 读写Properties配置文件
  • 原文地址:https://www.cnblogs.com/findumars/p/6002468.html
Copyright © 2011-2022 走看看