这个图标更是让我困惑,始终不能把图标显示出来,任务栏该图标出现的地方只是空白。
前几天问过了,但是大家给出的好象都不能解决,希望各位帮忙看看,有什么问题,能再给点建议最好:)
有关定义:
#define onlinecounter  200      //头文件中ONLINECOUNTER    ICON   "ICON1.ICO"   //菜单中定义
..//回调函数中
nid.uID=onlinecounter;
...
case WM_NOTIFYICON:
if(wParam==nid.uID)
{
switch(lParam)
{
case WM_RBUTTONUP:
GetCursorPos(&point);
                hsubmenu=CreatePopupMenu();
AppendMenu(hsubmenu,MF_STRING,IDM_EXIT,"关闭");
TrackPopupMenu(hsubmenu,TPM_LEFTALIGN,point.x,point.y,0,hWnd,NULL);
break;
case WM_LBUTTONDBLCLK:
ShowWindow(hWnd,SW_SHOW);
break;
}
}
break;.....

解决方案 »

  1.   

    你是怎么调用 Shell_NotifyIcon 函数的?“ONLINECOUNTER    ICON   "ICON1.ICO"   //菜单中定义”
    应该是资源(.rc)文件中定义吧?nid.hIcon = LoadIcon(hInstance, ONLINECOUNTER);
    nid.uFlags |= NIF_ICON;
    有没有设置?
      

  2.   

    case WM_NOTIFYICON: //当对任务栏的图标操作时windows发送WM_NOTIFYICON消息
              uID=wParam;//图标的ID值
          uMsg=lParam;//用户对任务栏图标进行的是什么操作
          if(uID==ID_NOTIFYICON)
      {
        switch(uMsg)
    {
        case WM_RBUTTONDOWN://如果是单击右键
         GetCursorPos(&point);//获得单击的坐标位置
     TrackPopupMenuEx(htaskmenu,TPM_VERTICAL|TPM_LEFTALIGN,point.x,point.y,hwnd,NULL);//在单击的位置上显示弹出菜单
             break;
    }
              }
      

  3.   

    呵呵,我也要疯了,我做的什么问题也没有。
    你是不是那里不小心写错了。或者,你的icon图是从外部拷贝来的,这样因为图象设备问题,有些也显不出来。
      

  4.   

    创建窗口时要指定 WS_SYSMENU  这个STYLE,否则任务栏不显示图标.