用戶: 密碼:     忘記密碼 | 會員註冊
  

用C++Builder獲取應用程序圖標

8.0
出處:2345軟件大全 時間:2011-06-27 人氣:608

核心提示:現在,網上有大量的有關圖標的共享軟件或免費軟件,而且很多也很好用,也方便。但是那畢竟是別人的

  現在,網上有大量的有關圖標的共享軟件或免費軟件,而且很多也很好用,也方便。但是那畢竟是別人的,用起來總有些哪個,況且自己又喜歡編程,何不自己動手呢!說幹就幹,而且手頭上有可視化編成的利器--C++ Builder4.0,想來應該是很簡單的一件事。

  首先啟動C++Builder,新建一工程,在窗體上放置一個Button控件,一個Image控件,和一個OpenDialog控件,它們的名稱均不必改動。雙擊Button控件,寫如下代碼: if(OpenDialog1->Execute())
{
FileName = OpenDialog1->FileName;
HICON hIcon;
// Total =(int) ExtractIcon( Form1->Handle, FileName.c_str(), -1);
Icon = new TIcon();
hIcon = ExtractIcon( Form1->Handle, FileName.c_str(), 0);
Icon->Handle=hIcon;
Icon->SaveToFile(TempFile);
Image1->Picture->LoadFromFile(TempFile);
}

  其中:FileName,TempFile,Icon在其頭文件中定義:
AnsiString  TempFile, FileName;
Ticon *Icon; 
這樣,你所選定的程序的第一個圖標就在Image控件中顯示了出來。本程序所用的是Windows API ExtractIcon來獲取圖表的,因此它只能獲取可執行文件的圖標,如果想獲取任意文件的圖標,那末你可以調用Windows API 的SHGetFileInfo函數來完成,SHGetFileInfo所能完成的任務有很多,具體用法可參見Win32的幫助文件。