Shell_Notidydata(NIM_ADD,&icondata)
其中icondata为NOTIFYICONDATA类型的变量!!!
可查阅帮助!!!社好icondata的各个值就好

解决方案 »

  1.   

    精华区有一个完整的贴子。可以自己看看。是MFC的,我在网上找到其他的也是MFC的
    我这几天也正好玩这个东西,下面是我自己写的纯win32api的,
    全部代码均放在WndProc函数中case WM_CREATE:
    // 托盘图标
    NOTIFYICONDATA tnd;
    tnd.cbSize= sizeof(NOTIFYICONDATA);
    tnd.hWnd = hwnd;
    tnd.uID = IDI_LIGHTWING;
    tnd.uFlags = NIF_MESSAGE|NIF_ICON|NIF_TIP;
    tnd.uCallbackMessage = WM_LWNOTIFYICON; // 自定义的消息,当点击托盘图标,会发送这个消息给应用程序
    tnd.hIcon = LoadIcon(hInst, (LPCTSTR)IDI_LIGHTWING);
    lstrcpy(tnd.szTip, _T("轻灵之翼 效率手册 Ver 1.0"));
    Shell_NotifyIcon(NIM_ADD,&tnd);
    break;// 当托盘图标发送消息时
    case WM_LWNOTIFYICON: //自定义的消息处理
    // lParam 存放鼠标的消息, wParam表示是哪一个图标被点击
    if(lParam == WM_RBUTTONDOWN && wParam == IDI_LIGHTWING)
    {
    GetCursorPos(&pt);
    TrackPopupMenuEx(hmenu, 0,  pt.x, pt.y, hwnd, NULL); // 弹出右键菜单
    }
    break;// 删除托盘图标。
    case WM_DESTROY:
    NOTIFYICONDATA tnid;
    tnid.cbSize = sizeof(NOTIFYICONDATA);
    tnid.hWnd   = hwnd;
    tnid.uID = IDI_LIGHTWING; //保证删除的是我们的图标
    Shell_NotifyIcon(NIM_DELETE,&tnid);
    PostQuitMessage(0);
    break;
      

  2.   

    对了,我这里自定义的消息:
    #define WM_LWNOTIFYICON WM_USER+1