• [转]将exe文件转成资源放到exe文件中


    原理:

         把需要包含的exe放入到进资源文件中,和原来的程序一起编译成一个exe文件,在程序第一次运行时释放出这个exe,然后调用这个exe文件。

    步骤:

         1、创建rc文件。可以用任意文本编辑器来写。文件格式为:"资源名 资源类型 文件名"。

              对于资源类型,如果是exe文件,应该是EXEFILE,如果是二进制文件,则是RCDATA。  

               这里创建一个文件float.rc:

    代码

    1AEXE EXEFILE "E:\Software\float.exe"

         2、将这个rc文件转换成res文件。

             复制float.rc到DELPHI安装目录里的bin文件夹, 执行brcc32 float.rc,生成float.res

         3、将这个res文件包含至工程文件中。

    代码

    1{$R   float.res}

        4、提取RES中的float.EXE。

    代码

    1procedure TFormMain.IEEE7541Click(Sender: TObject);
    2
    3 var
    4    t : TResourceStream;
    5 begin
    6
    7 if FileExists('float.exe') then
    8    WinExec('float.exe',Sw_normal)
    9 else
    10 begin
    11      try
    12        t := TResourceStream.Create(HInstance,'AEXE','EXEFILE'); //其中HInstance为一个句柄常量;rwww为资源名;exefile为资源类型
    13       t.SaveToFile('float.exe');
    14      finally
    15        t.free;
    16 end;
    17      WinExec('float.exe',Sw_normal);
    18 end;
    19 end;

    这样,就可以在一个exe文件中,调用另外一个exe程序了。

  • 相关阅读:
    [linux] 使用markdown写文档
    [c/c++] C数据结构: 链表 Linked List
    Apache 2 : starting apache
    GNU/CPIO 学习小结
    lsof 命令小结
    在Linux中扩展磁盘容量(1)
    在linux中扩展磁盘容量(2)LVM
    RHEL6.0 QEMU/KVM 建立新的虚拟机之配置Birdged Networking
    NFS server down机或重启导致的NFS系统错误
    Build linux kernel Module
  • 原文地址:https://www.cnblogs.com/moon25/p/1619881.html
Copyright © 2020-2023  润新知