明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線(xiàn)學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

怎么在VC++程序中獲得其他程序的圖標(biāo)

[摘要]如何在VC++程序中獲得其他程序的圖標(biāo)? 可采取兩種方法: (1) SDK函數(shù) SHGetFileInfo 或使用 ExtractIcon獲得圖標(biāo)資源的 handle, (2) SDK函數(shù) SHGe...
如何在VC++程序中獲得其他程序的圖標(biāo)? 可采取兩種方法:
(1) SDK函數(shù) SHGetFileInfo 或使用 ExtractIcon獲得圖標(biāo)資源的 handle,
(2) SDK函數(shù) SHGetFileInfo獲得有關(guān)文件的 很多信息,如大小圖標(biāo),屬性, 類(lèi)型等.
Example(1): 在程序窗口左上角顯示 NotePad圖標(biāo).
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);
}
說(shuō)明: 獲得notepad.exe的路徑正規(guī)上來(lái)說(shuō)用GetWindowsDirectory 函數(shù)得到,如果是調(diào)用 win95下的畫(huà)筆,應(yīng)該用訪(fǎng)問(wèn)注冊(cè)表的方法獲得其路徑,要作成一個(gè)比較考究的程序,考慮應(yīng)該全面點(diǎn).