开发环境:Visual Studio 2005
SDK:POCKET PC, CE5.0, CE6.0
相关代码:
- BOOL TrayMessage(
- HWND hwnd,
- DWORD dwMessage,
- UINT uID,
- HICON hIcon,
- PTSTR pszTip
- )
- {
- BOOL res = FALSE;
- NOTIFYICONDATA tnd;
- memset(&tnd, 0, sizeof(NOTIFYICONDATA));
- tnd.cbSize = sizeof(NOTIFYICONDATA);
- tnd.hWnd = hwnd;
- tnd.uID = uID;
- tnd.uFlags = NIF_ICON;
- tnd.uCallbackMessage = UWM_TRAY_NOTIFYICON;
- tnd.hIcon = hIcon;
- tnd.szTip[0] = _T('/0');
- res = Shell_NotifyIcon(dwMessage, &tnd);
- return res;
- }
- void TrayIconDelete(
- HWND hwnd,
- UINT uID,
- HICON hIcon,
- PTSTR pszTip
- )
- {
- TrayMessage(hwnd, NIM_DELETE, uID, hIcon, NULL);
- }
- void TrayIconModify(
- HWND hwnd,
- UINT uID,
- HICON hIcon,
- PTSTR pszTip
- )
- {
- //animate icons
- TrayMessage(hwnd, NIM_MODIFY, uID, hIcon, NULL);
- }
- void TrayIconAdd(
- HWND hwnd,
- UINT uID,
- HICON hIcon,
- PTSTR pszTip
- )
- {
- TrayMessage(hwnd, NIM_ADD, uID, hIcon, NULL);
- }
调用后发现图标不可见。。
原因很可笑,PPC下图标在最下面的系统栏上,而CE5.0和CE6.0下才在系统栏上方的,害我没注意看。。。