从一个程序中生成另一个程序(资源法)

2016-02-19 13:04 7 1 收藏

岁数大了,QQ也不闪了,微信也不响了,电话也不来了,但是图老师依旧坚持为大家推荐最精彩的内容,下面为大家精心准备的从一个程序中生成另一个程序(资源法),希望大家看完后能赶快学习起来。

【 tulaoshi.com - 编程语言 】

前不久大家都在讨论怎样通过一个程序来生成另一个程序,我提出了将另一个程序当资源文件包含在程序中一起编译,然后在程序运行时根据需要再重新生成出来,下面是我的一个例子, 在这里,我将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文件.

来源:http://www.tulaoshi.com/n/20160219/1602899.html

延伸阅读
标签: word
word2007将一个形状更改为另一个形状   1.单击要更改的形状。 2.在绘图工具下格式选项卡上的插入形状组中,单击编辑文本 。 如果您看不到绘图工具或格式选项卡,请确保已选择某个形状。 若要更改多个形状,请在按住 Shift 的同时单击需要更改的各个形状。 有关选择形状的详细信息,请参阅选择形状或其他对象。...
指甲油改造小花盆教程 大家都知道,指甲油是用来涂指甲的,当然,很多爱美的女性都非常喜欢买各种各样的指甲油,但是往往都还没有用完就快要过期,扔了可惜,留着又不能用,诶,小编教你一个方法,可以将要过期的指甲油废物利用。 工具材料 :贴纸,即将过期的指甲油,小陶瓷花盆 step1 .首先准备这样材料,可以根...
标签: 双胞胎
双胞胎经验分享 图钉问: 做B超检查的时候发现两个宝宝的大小不一样,这种情况正常吗? 图老师答: 双胞胎在子宫内的生长速度不一样这是很正常的,如果两个胎儿的大小差距太大,就需要早产。 大小不同的时候,应该做检查,以消除双胞胎间输血综合征,虽然这种情况很少发生,但是如果两个胎儿是同卵双生儿,共用一个胎盘的时候就会...
标签: PHP
  (主要用了两个字符串函数implode()和explode) 我制作的域名查询的源代码,主要用了两个字符串函数implode()和explode,利用这两个函数的切割字符串的强大功能,可以查询.com,.net.,org.,cc.,tv下的域名whois。 <?php echo '<center<form'; echo '<input type="text" name="string"'; echo '<in...
标签: windows 操作系统
系统文件检查器(Sfc.exe)是Windows用来验证系统文件完整性并修复系统文件的实用工具。 在Windows XP中,它的功能更为强大:Windows XP的“系统文件检查器”可以扫描所有受保护的系统文件以验证其版本,也可以设置文件缓存大小、清除文件缓存及重新填充“%SystemRoot%\System32\Dllcache”文件夹。 在Windows XP中启用“系统...

经验教程

648

收藏

78
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部