4

我有一个程序,它实际上由一个托盘图标组成。不需要图形用户界面。但是,在编写win32代码的时候,是否还需要初始化一个hWnd对象来关联托盘图标呢?

例如,NOTIFYICONDATA hWnd 字段通常指向窗口句柄。像

nid.hWnd = hwnd;

本质上,如果我设置,我的图标是否仍能接收消息

nid.hwnd = NULL;
4

2 回答 2

7

如果没有窗口,您将如何接收消息?

是的,您需要一个与托盘图标关联的窗口。

于 2011-09-28T23:38:36.640 回答
3

可以通过指定创建窗口来创建仅消息HWND_MESSAGE窗口。但是,仅消息窗口不接收广播消息,您会错过该TaskbarCreated消息。此消息告诉您的应用程序explorer.exe已重新启动,并且您的应用程序需要重新添加其通知图标。比较重要。所以创建一个永远不可见的窗口:永远不要调用ShowWindow().

于 2016-07-22T04:16:20.427 回答