如何在VC++程序中获得其他程序的图标

如何在VC++程序中获得其他程序的图标,第1张

如何在VC++程序中获得其他程序的图标,第2张

如何在VC++程序中获取其他程序的图标?可以采用两种方法:
(1) SDK函数SHGetFileInfo或者ExtractIcon获取图标资源的句柄,
(2) SDK函数SHGetFileInfo获取文件的很多信息,比如大小图标,属性,类型等。
例(1):记事本图标显示在程序窗口的左上角。
Void C sample view:ONDRAW(CDC * PDC)
{
If(::shgetFileInfo(_ t(" C:\ \ PWIN)notepad . exe),0,
&stFileInfo,sizeof(stFileInfo),SHGFI _ ICON))
{
PDC-> draw ICON(10,10,stFileInfo . hicon);
}
}
例(2):同一个函数,使用ExtractIcon函数。

void CSampleView::OnDraw(CDC * pDC)
{
HICON HICON =::extract icon(AfxGetInstanceHandle(),_T
("NotePad.exe "),0);

if (hIcon &&hIcon!=(HICON)-1)
pDC-> draw icon(10,10,HICON);
}
注意:获取notepad.exe的路径是通过使用GetWindowsDirectory函数正式获得的。如果调用win95下的画笔,应该通过访问注册表获取路径。做一个更优雅的节目,要综合考虑。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 如何在VC++程序中获得其他程序的图标

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情