想做一个效果,就像QQ在桌面右下角有个小图标,但是用Windows程序设计,我要怎样才能地道这个坐标,并且使其响应鼠标双击事件而重新弹出界面

解决方案 »

  1.   

    楼主说的应该是托盘图标吧,就是在屏幕的右下角的图标显示可以用NOTIFYICONDATA结构体和BOOL Shell_NotifyIcon( DWORD dwMessage,PNOTIFYICONDATA lpdata);这个函数。此函数用来向任务栏托盘区域发送消息。
    NOTIFYICONDATA结构包含了系统用来处理托盘图标的信息,它包括选择的图标、回调消息、提示消息和图标对应的窗口等内容。
      

  2.   

    做一个托盘程序就可以了。        NOTIFYICONDATA nd;
    nd.cbSize = sizeof (NOTIFYICONDATA);
    nd.hWnd = m_hWnd;
    nd.uID = IDI_ICON;
    nd.uFlags = NIF_ICON|NIF_MESSAGE|NIF_TIP;
    nd.uCallbackMessage = WM_NOTIFYICON;
    nd.hIcon = m_hIcon;
    strcpy(nd.szTip, "自己的内容"); Shell_NotifyIcon(NIM_ADD, &nd);消息映射
    BEGIN_MESSAGE_MAP(CServerMenuCheckDlg, CDialog)
    //{{AFX_MSG_MAP(CServerMenuCheckDlg)
    ON_MESSAGE(WM_NOTIFYICON, OnNotifyIcon)
    //}}AFX_MSG_MAP
    END_MESSAGE_MAP()点击ICON图标消息处理
    afx_msg void CServerMenuCheckDlg::OnNotifyIcon(WPARAM wParam, LPARAM lParam)
    {
    if ((wParam == IDI_ICON))
    {
    switch (lParam)
    {
    case WM_LBUTTONDOWN :
    case WM_LBUTTONDBLCLK:

    if (IsWindowVisible())
    {
    ShowWindow(SW_HIDE);
    }
    else
    {
    SetForegroundWindow();
    ShowWindow(SW_SHOW);
    }
    break; case WM_RBUTTONDOWN :

    ShowMenu();
    break; default :
    return;
    }
    }
    }
      

  3.   

    Google之托盘图标,NOTIFYICONDATA Shell_NotifyIcon