枚举托盘图标,或查找创建图标的进程,高手们有答案么?
解决方案 »
- 请教多表分组统计
- 用adoquery插入多个表提交和回滚的问题?
- delphi 怎样读取和修改 RES文件
- 有关SPCOMM控件的使用
- 数据库连接怪问题, 请大师指点
- 怎样用鼠标拷贝一些不给拷贝的页面?----在线等!
- !!!!!!!赶在五一的之前升级了,祝朋友们五一快乐 8!!!!!!!!
- 一个关于WIN98关机效果的问题?您感兴趣吗?您知道吗?进来说说看。。
- 请教高数关于delphi程序通过RAS或Citrix远程使用无法打开打印机的问题,急等!!!!!
- 各位大虾请指教:学习Dephi之前一定要会c/c++或者帕斯卡语言吗??
- 再问~~我用WinExec(PChar('cmd /c ipconfig /all >E:\1.txt'), SW_HIDE),生成文件后要怎么关闭或释放这个文件?
- 用Insert语句如何往Sql Server数据库中添加Image字段?
if (hTry==NULL) retrun;
HWND hToolBar=::FindWindowEx(hTray,NULL,"ToolbarWindow32",NULL);
if (hToolBar==NULL) return;
//
//hToolBar的句柄有了,操作应该与标准的MFC中的CTollBar差有多吧?
但他的方法好像不行
因为托盘图标的窗口虽然是toolbarWindow32,但它并不是Shell_TrayWnd的直接子窗口,
而是TrayNotifyWnd的直接子窗口,而TrayNotifyWnd则是Shell_TrayWnd的直接子窗口,若
FindWindowEx能查找子子窗口的话则就没有问题可行
handle
首先得到当前系统中所有的进程,然后分别向每个进程发送Shell_NotifyIcon消息,返回值根据MSDN(Returns nonzero if successful, or zero otherwise),可以得到进程信息。这个方法是笨了一点,效率也不高,但是我认为还是可行。错了大家不要骂我啊~~~~~