如何去掉某一程序的托盘图标? 现在有一程序,运行后后缩到托盘处。怎么去掉这个图标?当然那个程序还要运行。谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在XP下,放托盘图标的控件类名为"ToolbarWindow32"控件标题为"通知区域",实际上就是个工具标了,你可以找到这个控件的句柄,然后用标准的SDK方式修改其上面的按钮(也就是显示的图标),具体方法请参考WIN32SDK手册. 无论相信与否,创建、修改和移走托盘图标只需要一个A P I调用即可完成。这个函数叫做shell_NotifyIcon()。这个函数和其他处理Wi n d o w s外壳的函数都包含在S h e l l A P I单元中。呵呵《D5开发人员指南〉里第24章有详细介绍,我就不摘抄了 楼上的办法只能删除自己程序做的托盘,但楼主的意思是删其它进程的托盘吧.反正睡不着,偶把代码写出来.要引用Commctrl单元.procedure TForm1.Button1Click(Sender: TObject);var PanelHandle, ToolBarHandle: THandle;begin PanelHandle := FindWindow('Shell_TrayWnd', nil); PanelHandle := FindWindowEx(PanelHandle, 0, 'TrayNotifyWnd', nil); Panelhandle := FindWindowEx(PanelHandle, 0, 'SysPager', nil); ToolBarHandle := FindWindowEX(PanelHandle, 0, 'ToolbarWindow32', '通知区域'); SendMessage(ToolBarHandle, TB_DELETEBUTTON, 1, 0);end;上面只是随便删的一个. 你是什么系统?其它系统的话可能找TOOLBARWINDOWS32的方法会有点不一样. pankun(剑神一笑) 的方法已经不错,不同的系统可能有所不同,用spy++看一下你需要获得的句柄 如何把数据库存储过程中的提示信息反映到前台来? 想了两天了,还是不知道怎么办,高手来帮帮忙解决下吧!! 求助:给用户发催费短信怎么做,要新增什么设备? Listbox中如有多列,如何添加一行? 我想完成这样的效果:将自定义的菜单名写入在任何一个文件夹上点击右键时的系统菜单中。 我引用一个DLL文件,能像vb一样,用“.“来看对象的方法和属性吗 请熟悉字符函数的看过来!(在线等) 多语言录入及显示问题 如何在两个应用程序之间发送和相应自定义的消息? 如何用程序中断拔号连接? 一个关于MDI的问题 为何报错??
呵呵《D5开发人员指南〉里第24章有详细介绍,我就不摘抄了
反正睡不着,偶把代码写出来.
要引用Commctrl单元.
procedure TForm1.Button1Click(Sender: TObject);
var
PanelHandle, ToolBarHandle: THandle;
begin
PanelHandle := FindWindow('Shell_TrayWnd', nil);
PanelHandle := FindWindowEx(PanelHandle, 0, 'TrayNotifyWnd', nil);
Panelhandle := FindWindowEx(PanelHandle, 0, 'SysPager', nil);
ToolBarHandle := FindWindowEX(PanelHandle, 0, 'ToolbarWindow32', '通知区域');
SendMessage(ToolBarHandle, TB_DELETEBUTTON, 1, 0);
end;
上面只是随便删的一个.