如何在VC++程序中獲得其他程序的圖標
發表于:2007-07-14來源:作者:點擊數:
標簽:
如何在VC++程序中獲得其他程序的圖標? 可采取兩種方法: (1) SDK函數 SHGetFileInfo 或使用 ExtractIcon獲得圖標資源的 handle, (2) SDK函數 SHGetFileInfo獲得有關文件的 很多信息,如大小圖標,屬性, 類型等. Example(1): 在程序窗口左上角顯示 NotePad圖標.
如何在VC++程序中獲得其他程序的圖標? 可采取兩種方法:
(1) SDK函數 SHGetFileInfo 或使用 ExtractIcon獲得圖標資源的 handle,
(2) SDK函數 SHGetFileInfo獲得有關文件的 很多信息,如大小圖標,屬性, 類型等.
Example(1): 在程序窗口左上角顯示 NotePad圖標.
Void CSampleView: OnDraw(CDC * pDC)
{
if( :: SHGetFileInfo(_T("c:\\pwin95\\notepad.exe"),0,
&stFileInfo,sizeof(stFileInfo),SHGFI_ICON))
{
pDC ->DrawIcon(10,10,stFileInfo.hIcon);
}
}
Example(2):同樣功能,Use ExtractIcon Function
void CSampleView:: OnDraw(CDC *pDC)
{
HICON hIcon=:: ExtractIcon(AfxGetInstanceHandle(),_T
("NotePad.exe"),0);
if (hIcon &&hIcon!=(HICON)-1)
pDC->DrawIcon(10,10,hIcon);
}
說明: 獲得notepad.exe的路徑正規上來說用Get
WindowsDirectory 函數得到,如果是調用 win95下的畫筆,應該用訪問注冊表的方法獲得其路徑,要作成一個比較考究的程序,考慮應該全面點.
原文轉自:http://www.kjueaiud.com