系统图标不能显示
首先,我是用的sdk api直接操作的,系统图标栏明显感觉是加载了图标,但就是没显示出来
关键源码如下:
#define WM_ICONNOTIFY (WM_USER+102)
#define ID_TASKBARICON 1000
//......
static NOTIFYICONDATA nid;
switch (message)
{
case WM_CREATE:
{
memset(&nid,0,sizeof(nid));
nid.cbSize =sizeof(NOTIFYICONDATA);
nid.hWnd =hWnd;
nid.dwStateMask =NIF_MESSAGE | NIF_ICON | NIF_TIP;
nid.hIcon =LoadIcon(hInst,MAKEINTRESOURCE(IDI_PROCESS));
nid.uID =1;
nid.uCallbackMessage=WM_ICONNOTIFY;
wcscpy(nid.szTip,L"Test");
BOOL bExsit=Shell_NotifyIcon(NIM_ADD,&nid);
//SetTimer(hWnd,1,500,NULL);
}
break;
case WM_ICONNOTIFY:
switch(lParam)
{
case WM_LBUTTONDBLCLK:
// Load main window here
ShowWindow(hWnd,TRUE);
break;
case WM_RBUTTONUP:
{
POINT point;
HMENU hMenu, hSubMenu;
// Get mouse position
GetCursorPos(&point);
// Popup context menu
hMenu = LoadMenu(hInst, MAKEINTRESOURCE(IDR_MYMENU));
hSubMenu = GetSubMenu(hMenu, 0);
SetMenuDefaultItem(hSubMenu, IDM_EXIT, FALSE);
SetForegroundWindow(hWnd); // Per KB Article Q135788
TrackPopupMenu(hSubMenu,
TPM_LEFTBUTTON|TPM_RIGHTBUTTON|TPM_LEFTALIGN,
point.x, point.y, 0, hWnd, NULL);
PostMessage(hWnd, WM_NULL, 0, 0); // Per KB Article Q135788
DestroyMenu(hMenu);
}
break;
我在WM_CREATE消息后的设置没问题吧,但是怎么不显示出来呢?