• 学习使用资源文件[10]


    //下面是 Windows 支持的资源格式:
    RT_CURSOR       = MakeIntResource(1);
    RT_BITMAP       = MakeIntResource(2);
    RT_ICON         = MakeIntResource(3);
    RT_MENU         = MakeIntResource(4);
    RT_DIALOG       = MakeIntResource(5);
    RT_STRING       = MakeIntResource(6);
    RT_FONTDIR      = MakeIntResource(7);
    RT_FONT         = MakeIntResource(8);
    RT_ACCELERATOR  = MakeIntResource(9);
    RT_RCDATA       = Types.RT_RCDATA; //MakeIntResource(10);
    RT_MESSAGETABLE = MakeIntResource(11);
       DIFFERENCE   = 11;
    RT_GROUP_CURSOR = MakeIntResource(DWORD(RT_CURSOR + DIFFERENCE));
    RT_GROUP_ICON   = MakeIntResource(DWORD(RT_ICON + DIFFERENCE));
    RT_VERSION      = MakeIntResource(16);
    RT_DLGINCLUDE   = MakeIntResource(17);
    RT_PLUGPLAY     = MakeIntResource(19);
    RT_VXD          = MakeIntResource(20);
    RT_ANICURSOR    = MakeIntResource(21);
    RT_ANIICON      = MakeIntResource(22);

    //尽管 Windows 规定 RCDATA 用作自定义格式, 我们也可以自定义格式名称, 譬如本例(rc 文件):
    MyFile1 RCDATA "c:Windowssystem32
    otepad.exe"
    MyFile2 MyRes "c:WindowsSystem32calc.exe"
    
    {上面把 notepad.exe 时指定为 RCDATA 格式; 把 calc.exe 就指定成了自定义的 MyRes 格式}

    //本例在资源中嵌入了记事本和计算器, 然后提取并调用:
    
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
        Button1: TButton;
        Button2: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
      rs: TResourceStream;
    begin
      rs := TResourceStream.Create(HInstance, 'MyFile1', RT_RCDATA);
      rs.SaveToFile('c:	emppad.exe');
      WinExec('c:	emppad.exe', 1);
      rs.Free;
    end;
    
    procedure TForm1.Button2Click(Sender: TObject);
    var
      rs: TResourceStream;
    begin
      rs := TResourceStream.Create(HInstance, 'MyFile2', 'MyRes');
      rs.SaveToFile('c:	empsum.exe');
      WinExec('c:	empsum.exe', 1);
      rs.Free;
    end;
    
    end.
    
  • 相关阅读:
    Beyond Compare 4
    关于差分到底要不要包地的讨论
    关于PCB走线能不能走锐角的讨论
    AD 不规则焊盘设计
    如何利用CAM350快速完成拼板
    基于STM32CubeMX USB HID 鼠标学习和实现 --前言
    STM32 IO中断方式测试频率
    AD 导出Gerbe步骤
    allegro pcb 中的盲埋孔设置
    基于运放的恒流设计原理
  • 原文地址:https://www.cnblogs.com/westsoft/p/9820183.html
Copyright © 2020-2023  润新知