问题: CE下,最小化后,托盘图标不见了。。

开发环境:Visual Studio 2005 
SDK:POCKET PC, CE5.0, CE6.0

 

相关代码:

  1. BOOL TrayMessage(
  2.                  HWND hwnd, 
  3.                  DWORD dwMessage,
  4.                  UINT uID, 
  5.                  HICON hIcon, 
  6.                  PTSTR pszTip
  7.                  )
  8. {
  9.     BOOL res = FALSE;
  10.     NOTIFYICONDATA tnd;
  11.     memset(&tnd, 0, sizeof(NOTIFYICONDATA));
  12.     tnd.cbSize = sizeof(NOTIFYICONDATA);
  13.     tnd.hWnd = hwnd;
  14.     tnd.uID = uID;
  15.     tnd.uFlags = NIF_ICON;
  16.     tnd.uCallbackMessage = UWM_TRAY_NOTIFYICON;
  17.     tnd.hIcon = hIcon;
  18.     tnd.szTip[0] = _T('/0');
  19.     res = Shell_NotifyIcon(dwMessage, &tnd);
  20.     return res;
  21. }
  22. void TrayIconDelete(
  23.                     HWND hwnd, 
  24.                     UINT uID, 
  25.                     HICON hIcon, 
  26.                     PTSTR pszTip
  27.                     )
  28. {
  29.     TrayMessage(hwnd, NIM_DELETE, uID, hIcon, NULL);
  30. }
  31. void TrayIconModify(
  32.                     HWND hwnd, 
  33.                     UINT uID,
  34.                     HICON hIcon, 
  35.                     PTSTR pszTip
  36.                     ) 
  37. {
  38.     //animate icons
  39.     TrayMessage(hwnd, NIM_MODIFY, uID, hIcon, NULL);
  40. }
  41. void TrayIconAdd(
  42.                  HWND hwnd, 
  43.                  UINT uID, 
  44.                  HICON hIcon, 
  45.                  PTSTR pszTip
  46.                  )
  47. {
  48.     TrayMessage(hwnd, NIM_ADD, uID,  hIcon, NULL);
  49. }

调用后发现图标不可见。。

原因很可笑,PPC下图标在最下面的系统栏上,而CE5.0和CE6.0下才在系统栏上方的,害我没注意看。。。

你可能感兴趣的:(问题: CE下,最小化后,托盘图标不见了。。)