【发布时间】:2021-10-14 18:30:10
【问题描述】:
我编写了一个示例应用程序来查看如何将气球通知添加到 Win32 应用程序。有人可以指出为什么Shell_NotifyIcon() 没有显示气球通知吗?
GetLastError 为 Shell_NotifyIcon() 返回 2147500037。
#include <Windows.h>
#include "shellapi.h"
int main()
{
NOTIFYICONDATA nid;
nid.cbSize = sizeof(NOTIFYICONDATAA_V3_SIZE);
nid.uTimeout = 500;
nid.uID = 1;
nid.uFlags = NIF_TIP | NIF_ICON | NIF_MESSAGE | NIF_INFO | 0x00000080;
nid.uCallbackMessage = WM_USER + 200;
nid.hIcon = LoadIcon(NULL, IDI_INFORMATION);
lstrcpy(nid.szTip, L"Test Tip");
lstrcpyW(nid.szInfoTitle, L"Test Title");
Shell_NotifyIcon(NIM_ADD, &nid); //GetLastError returns - 2147500037
return 0;
}
【问题讨论】:
-
Shell_NotifyIcon()没有记录使用GetLastError()进行错误报告,因此您不能依赖GetLastError()在这种情况下返回任何有意义的内容。
标签: c++ winapi visual-c++