具有氣球的問題林首先他們拒絕在任何顯示,但在找到這個線程: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
編輯後,不知道你是否意識到這一點。 –