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

文章作者 100test 发表时间 2007:12:01 14:27:59
来源 100Test.Com百考试题网


如何在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的路径正规上来说用GetWindowsDirectory 函数得到,如果是调用 win95下的画笔,应该用访问注册表的方法获得其路径,要作成一个比较考究的程序,考虑应该全面点.

相关文章


制作风格独特的按钮—用VC6扩展CButton类
如何以指定的颜色深度启动xwindow
如何在Windows应用程序中实现电子注册功能
用VC 6.0实现PC机与单片机之间串行通信的方法
如何在VC 程序中获得其他程序的图标
如何在指定矩形中旋转显示文字
Vista不支持LinuxSamba服务的解决办法
Windows下用sftp巧妙打造安全传输
细数决定SOA成败的关键因素
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛