【发布时间】:2013-08-29 11:08:50
【问题描述】:
我想将我的程序最小化到系统托盘,然后我想让程序做 3 件事:
1) 如果我把鼠标放在它上面,它会在它附近显示一些文字(比如当你把鼠标放在 Internet 图标附近时,它会告诉你你的网络 SSID... 2)如果我右键单击系统托盘中的图标,X会发生 3)如果我左键点击系统托盘中的图标,Y会发生
我使用以下代码将我的程序最小化到系统托盘:
void MinimizeSystemTray(HWND hwnd)
{
NOTIFYICONDATA nid;
nid.cbSize = sizeof(nid);
nid.hWnd = hwnd;
nid.hIcon = LoadIcon(0, IDI_APPLICATION);
nid.uCallbackMessage = WM_USER;
nid.uFlags = NIF_ICON | NIF_TIP | NIF_MESSAGE;
ShowWindow(hwnd, SW_HIDE);
Shell_NotifyIcon(NIM_ADD, &nid);
}
效果很好,虽然我无法为我遇到的 3 个问题找到解决方案...
谢谢!
【问题讨论】:
-
您需要处理 shell 将发送给您的消息。使用SDK sample,NotifyIcon.zip。
标签: c windows winapi system-tray