當前位置:編程學習大全網 - 編程語言 - Delphi實現了可執行文件中所有對象的提取。

Delphi實現了可執行文件中所有對象的提取。

這個例子的作用是從用戶選擇的可執行文件中提取所有圖標(後綴是exe)並顯示在窗體上。

將TImage組件、TOpenDialog組件和TButton組件添加到窗體中。TImage組件充當文件中顯示圖標的容器,TOpenDialog組件和TButton組件用於激活提示用戶選擇GIF動畫的對話框。添加組件後的表單如圖1所示。

首先在表單的uses部分添加ShellAPI,然後添加按鈕響應代碼,如下所示:

過程TfrmMain.btnOpenClick(發送方:to object);

定義變量

I:整數;

大,小:HICON

尼可斯:整數;

開始

如果OpenDialog1。然後執行

開始

自我。Image1。畫布.刷新;

nIcons:= ExtractIconEx(PChar(open dialog 1。文件名),-1,大,小,1);

對於i:=0到nIcons-1 do

開始

ExtractIconEx(PChar(self。OpenDialog1。文件名),I,Large,Small,1);

DrawIcon(self。Image1。Canvas.Handle,(i div 4)*40,(i mod 4)*40,大號);

結束;

結束;

結束;

當用戶在程序運行過程中選擇壹個可執行文件時,程序首先通過自身清除TImage組件上的顯示內容。image1.canvas.refresh語句,然後通過將ExtractIconEx函數的第二個參數指定為-1來獲取可執行文件中的圖標數。獲得編號後,通過extraconex (PCcar (self)將可執行文件中的大小圖標分別存儲在大小變量中。OpenDialog 1。filename)、I、large、small、1)語句循環使用。最後,通過DrawIcon函數在TImage組件上繪制壹個圖標。

程序代碼如下:

單位unit 1;

連接

使用

窗口、消息、系統、變量、類、圖形、控件、表單,

對話框、標準控件、ShellAPI、網格、擴展控件。

類型

TfrmMain = class(TForm)

btnOpen:TButton;

open dialog 1:TOpenDialog;

image 1:TImage;

過程btnOpenClick(發送方:to object);

私人的

{私人聲明}

公眾的

{公開聲明}

結束;

定義變量

frmMain:TfrmMain;

履行

{$R *。dfm}

過程TfrmMain.btnOpenClick(發送方:to object);

定義變量

I:整數;

大,小:HICON

尼可斯:整數;

開始

如果OpenDialog1。然後執行

開始

自我。Image1。畫布.刷新;

nIcons:= ExtractIconEx(PChar(open dialog 1。文件名),-1,大,小,1);

對於i:=0到nIcons-1 do

開始

ExtractIconEx(PChar(self。OpenDialog1。文件名),I,Large,Small,1);

DrawIcon(self。Image1。Canvas.Handle,(i div 4)*40,(i mod 4)*40,大號);

結束;

結束;

結束;

結束。

保存文件,然後按F9運行程序。程序運行的初始屏幕如圖2所示。

單擊“打開”按鈕,彈出壹個對話框,提示用戶選擇壹個可執行文件。確認後,存儲在所選可執行文件中的圖標將顯示在表單的TImge組件上,如圖3所示。

  • 上一篇:如何正確給孩子選擇校外培訓?
  • 下一篇:參觀實驗室心得體會
  • copyright 2024編程學習大全網