国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

從一個程序中生成另一個程序(資源法)

2019-11-17 05:37:31
字體:
供稿:網(wǎng)友

  前不久大家都在討論怎樣通過一個程序來生成另一個程序,我提出了將另一個程序當資源文件包含在程序中一起編譯,然后在程序運行時根據(jù)需要再重新生成出來,下面是我的一個例子, 在這里,我將windows自帶的寫字板(writer.exe)當資源.

下面是源代碼

//資源文件writer.exe長度為204800,在資源文件中定義為"CUSTOM"資源,編號為1111


  HRSRC   hMyRes;     //resource handle
  HGLOBAL   hgpt;       //resource pointer
  LPVOID    lpBuff;     //resource buffer pointer
  DWord     rcSize=204800;    //resource size
  HANDLE    hFile;//file to write
  LPDWORD  dwByte;//byte size had been write
  dwByte=&rcSize; //locate the resource and load the resource to memory and lock it
  hMyRes=FindResource((HMODULE)GetWindowLong(Handle,GWL_HINSTANCE),MAKEINTRE SOURCE(1111),"CUSTOM");
  if(hMyRes==NULL)
    ShowMessage(SysErrorMessage(GetLastError()));
  hgpt=LoadResource(NULL,hMyRes);
  if(hgpt==NULL)
    ShowMessage(SysErrorMessage(GetLastError()));
  lpBuff=LockResource(hgpt);

//now i will read the resource and write it to an file

  try
    {
    hFile=CreateFile("e://mywriter.exe",GENERIC_WR99vE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
    WriteFile(hFile,lpBuff,rcSize,dwByte,NULL);
    if(*dwByte!=204800)
      ShowMessage("Failed to write to file");
    }
   __finally
    {
    CloseHandle(hFile);
    }

在資源的添加與生成時,我用Borland ResourceWorkShop4.5沒辦法做,最后是用vb6帶的資源編輯器生成的res文件.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 延安市| 通渭县| 洮南市| 驻马店市| 漯河市| 始兴县| 锡林郭勒盟| 常州市| 阿勒泰市| 杨浦区| 牙克石市| 九寨沟县| 安平县| 建宁县| 叙永县| 楚雄市| 浦县| 仁化县| 阿克| 黑水县| 松溪县| 景泰县| 阳西县| 翼城县| 象山县| 新沂市| 丹东市| 治县。| 富源县| 麻阳| 苗栗县| 楚雄市| 绥宁县| 嘉善县| 合水县| 迁安市| 阳泉市| 西乌珠穆沁旗| 策勒县| 扎赉特旗| 延寿县|