仅C ++系统托盘程序

时间:2019-01-23 17:21:10

标签: c++ winapi system-tray

在检查了Microsoft关于系统托盘图标的文档(我可以找到)之后:

Shell_NotifyIconA function

NOTIFYICONDATAA structure

我已经注意到需要一个窗口句柄(HWND)。这对我要完成的工作非常不利,因为我希望创建一个仅对系统任务栏做出反应的程序:它不会“最小化”任务栏窗口,它仅使用通知(单击/右键单击图标)进行互动。

我该怎么做?

1 个答案:

答案 0 :(得分:3)

Windows 7 SDK包含一个名为NotificationIcon的示例。此示例包含一行

ShowWindow(hwnd, nCmdShow);

在其wWinMain函数中。调用的结果是您看到一个程序窗口。

只需将此行更改为

ShowWindow(hwnd, SW_HIDE);

隐藏程序窗口,仅在系统任务栏中显示图标。正如其他人指出的那样,该程序需要一个程序窗口,即使该窗口不可见。