用API,Shell_NotifyIcon,不过我不是用VC的,顺便路过说上两句。呵呵呵^_^

解决方案 »

  1.   

    BOOL SSLaunch_OnInitDialog(HWND hwnd){
    NOTIFYICONDATA nid;
    nid.cbSize = sizeof(nid);
    nid.hWnd = hwnd;
    nid.uID = IDI_ICON1;
    nid.uFlags = NIF_MESSAGE|NIF_ICON|NIF_TIP;
    nid.uCallbackMessage = WM_SSLAUNCHICONNOTIFY;
    nid.hIcon=LoadIcon(m_hInstance, MAKEINTRESOURCE(IDI_ICON1));
    strcpy(nid.szTip,"Add your tip");
    return(Shell_NotifyIcon(NIM_ADD, &nid));
    }
     
    void SSLaunch_OnDestroy(HWND hwnd){
    NOTIFYICONDATA nid;
    nid.cbSize = sizeof(nid);
    nid.hWnd = hwnd;
    nid.uID = IDI_ICON1;
    Shell_NotifyIcon(NIM_DELETE, &nid);
    } void SSLaunch_OnIconNotify(WPARAM wParam, LPARAM lParam){
    UINT uID = (UINT)wParam;
    UINT uMsg = (UINT)lParam;
    if(uID == IDI_ICON1){
    switch(uMsg){
    case WM_RBUTTONUP :
                               //add your code
                               break();
    case WM_LBUTTONUP :
                            //add your code
    break;
    default : 
    break;
    }
    }
    }

    LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    PAINTSTRUCT ps;
       
    switch (message) 
    {
                case WM_SSLAUNCHICONNOTIFY:
        SSLaunch_OnIconNotify(wParam, lParam);
                  break;           case WM_DESTROY:
        SetWindowText(pWnd,szCaption);
        SSLaunch_OnDestroy(hWnd);
                 break;

    }

    int APIENTRY WinMain(HINSTANCE hInstance,
                         HINSTANCE hPrevInstance,
                         LPSTR     lpCmdLine,
                         int       nCmdShow)
    {

     SSLaunch_OnInitDialog(hWnd); // hwnd 是接受消息窗口句柄

    }