
#define WM_SHOWTASK WM_USER+100
应用程序头文件中加入
afx_msg LRESULT onShowTask(WPARAM wParam,LPARAM lParam)//函数定义
BEGIN_MESSAGE_MAP(CMy3DDlg, CDialog)
//{{AFX_MSG_MAP(CMy3DDlg)
:
ON_MESSAGE(WM_SHOWTASK,onShowTask) //加入对自定义消息的绑定线程
END_MESSAGE_MAP()
最后是对于应用程序图标的抓取,这里是我在工作中写过的一个例子,程序执行后在任务栏上显示一个图标,可以对图标进行鼠标 *** 作
RESULT CMy3DDlg::onShowTask(WPARAM wParam,LPARAM lParam)
//wParam接收的是图标的ID,而lParam接收的是鼠标的行为
{
if(wParam!=IDR_MAINFRAME)
return 1
switch(lParam)
{
case WM_RBUTTONUP://右键卜肢起来时d出快捷菜单,这里只有一个“关闭”
{
LPPOINT lpoint=new tagPOINT
::GetCursorPos(lpoint)//得到鼠标位置丛亮
CMenu menu
menu.CreatePopupMenu()//声型郑世明一个d出式菜单
//增加菜单项“关闭”,点击则发送消息WM_DESTROY给主窗口(已隐藏),将程序结束。
menu.AppendMenu(MF_STRING,WM_DESTROY,"关闭")
//确定d出式菜单的位置
menu.TrackPopupMenu(TPM_LEFTALIGN,lpoint->x,lpoint->y,this)
//资源回收
HMENU hmenu=menu.Detach()
menu.DestroyMenu()
delete lpoint
}
break
case WM_LBUTTONDBLCLK://双击左键的处理
{
this->ShowWindow(SW_SHOW)//简单的显示主窗口完事儿
DeleteTray()
}
break
}
return 0
}
若满意请及时采纳,谢谢
Iconicon
=
System.Drawing.Icon.ExtractAssociatedIcon(@"友哗首C:\Program
Files\腾讯游戏\QQ飞车\QQSpeedLauncher.exe")
pictureBox1.Image
=
icon.ToBitmap()
我都试了下这个简单,非好数托管需芦毁要destory但是我不知道在哪儿释放掉非托管资源
用Resource Hacker提取图标。
1.运行ResourceHacker.exe,点File—Open,悄汪打开一个exe文件。
2.点Bitmap左边的三角形图标,选一个你想保存的,右边有预览。
3.在128:1033上点右键—Save *.bmp resource保存为一个无损位图格式。
上面提取的是工具栏悔运如图片,接下来就是程序图标组的提取了。
4.点碧启Icon Group左边的三角形图标。
5.在128:1033上点右键—Save *.ico resource保存为一个图标文件。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)