具有气球的问题林首先他们拒绝在任何显示,但在找到这个线程:Shell_NotifyIcon NIF_INFO不显示图标
Why aren't Shell_NotifyIcon balloon tips working?
然后改变CBSIZE到504气球展示,但没有在他们的图标,所有标准图标将不会显示也不会自定义图标,结构是这样的:
cbSize = 504
hWnd = HDL
uID = 10
uFlags = NIF_INFO
szInfo = sBody
uTimeout = 20000
szInfoTitle = sTitle
dwInfoFlags = NIIF_ERROR
没有人知道的原因,图标会失败? (已经尝试了所有的结构尺寸和uVersion在各种组合)
编辑:
S.cbSize = 504;
S.hWnd = HDL;
S.uID = 101;
S.uFlags = NIF_MESSAGE + NIF_ICON + NIF_TIP;
S.uCallbackMessage = 0x4DE;
S.hIcon = iHDL;
S.szTip = sTooltip;
S.uVersion = 3;
S.dwInfoFlags = NIIF_NONE;
Shell32.Shell_NotifyIconA(NIM_ADD,S:GetPointer())
Shell32.Shell_NotifyIconA(NIM_SETVERSION,S:GetPointer())
这是用于创建托盘图标,它的作用:
所有回调消息与更改工具提示/更改图标/设置焦点/删除托盘图标函数也按预期在XP和Win 8.1上工作,所有使用cbSize = 504和uVersion = 3与Ansi NIM_SETVERSION和NOTIFYICONDATA,气球将显示其只是没有图标将显示甚至不是默认的:
S.cbSize = 504;
S.hWnd = HDL
S.uID = 101
S.uFlags = NIF_INFO
S.szInfo = sBody
S.uTimeout = 20000
S.szInfoTitle = sTitle
S.dwInfoFlags = NIIF_ERROR
Shell32.Shell_NotifyIconA(NIM_MODIFY,S:GetPointer())
使用结构CBSIZE的尺寸适用于一切,但气球,他们甚至不会显示,和大小报告,688
编辑后,不知道你是否意识到这一点。 –