托盘处显示的图标是否是窗口的问题?
我的应用程序在系统托盘处显示一图标。请问在托盘处显示的图标是一个窗口吗?如果是,如何得到它的句柄或指针? 问题点数:50、回复次数:5Top
1 楼laiyiling(陌生人[MVP])回复于 2004-08-01 18:38:21 得分 15
BOOL Shell_NotifyIcon(DWORD dwMessage,PNOTIFYICONDATA pnid); 通过这个函数能得到拥有图标的窗口句柄,他只是一个图标。
关于更详细的解释看看http://www.vckbase.com/document/viewdoc.asp?id=492Top
2 楼BLsoft(網龍ζ龍活)(Cyber-Security of [MVP])回复于 2004-08-01 18:38:55 得分 10
理论上是,但是现实中我们无法得到你想要的托盘指针.只能得到托盘区的指针.Top
3 楼BestBear(天外飞熊)回复于 2004-08-01 18:50:36 得分 15
http://www.vckbase.com/document/finddoc.asp?keyword=%CD%D0%C5%CC
在上面的“关于托盘的一点总结“这篇文章中,你可以看到class CSystemTray : public CWnd
Tray是一个继承于CWnd的类
但是在“系统托盘编程完全指南(一)”中,你能看到class CTrayIcon : public CCmdTarget
Tray中的Icon封装是继承于CCmdTarget的
综上,我们只能得到整个托盘区的指针Top
4 楼mingbao(★情已逝★)回复于 2004-08-01 19:01:21 得分 10
可以说 托盘区 是一个窗口, 你可以对它进行需要的操作,但它里面的图标则不是.
你知道图标也是一种资源,所以他有一个句柄,就像你自己在程序中创建一个图标一样,是可以返回一个句柄的
Top
5 楼guxiangdeyun(故乡的云)回复于 2004-08-01 19:26:35 得分 0
谢谢楼上几位热情洋溢地解说。ok,结贴Top




