我现在写了一个程序,我想让它在不是处于激活的状态下可以响应某个热键的消息,然后自己激活。就像腾讯的qq一样,即使没有处于激活状态,如果按下ctrl+alt+z的系统默认热键,它也可以自己激活,请问在vc程序中如何实现。 谢谢

解决方案 »

  1.   

    RegisterHotKey(m_hWnd, VK_F2, 0, VK_F2);
      

  2.   

    EnumProcessView.h
    class CEnumProcessView : public CListView
    {
    .....
    protected:
    //{{AFX_MSG(CEnumProcessView)
    afx_msg void OnToolbarRefresh();
    afx_msg void OnHotKey(WPARAM wParam, LPARAM lParam);//****
    //}}AFX_MSG
    DECLARE_MESSAGE_MAP()
    }
    /////////////////////////////////////////
    EnumProcessView.cppBEGIN_MESSAGE_MAP(CEnumProcessView, CListView)
    //{{AFX_MSG_MAP(CEnumProcessView)
    ON_COMMAND(ID_TOOLBAR_REFRESH, OnToolbarRefresh)
    //}}AFX_MSG_MAP
    // Standard printing commands
    ON_COMMAND(ID_FILE_PRINT, CListView::OnFilePrint)
    ON_COMMAND(ID_FILE_PRINT_DIRECT, CListView::OnFilePrint)
    ON_COMMAND(ID_FILE_PRINT_PREVIEW, CListView::OnFilePrintPreview)
    ON_MESSAGE(WM_HOTKEY, OnHotKey)    //***********
    ON_UPDATE_COMMAND_UI(ID_INDICATOR_PSNUM, UpdatePsNumText)
    END_MESSAGE_MAP()
    void CEnumProcessView::OnHotKey(WPARAM wParam, LPARAM lParam)
    {
    if((int)wParam == VK_F2)
    MessageBox("F2");
    }
      

  3.   

    void CEnumProcessView::OnInitialUpdate()
    {
    CListView::OnInitialUpdate(); RegisterHotKey(m_hWnd, VK_F2, 0, VK_F2);
    // TODO: You may populate your ListView with items by directly accessing
    //  its list control through a call to GetListCtrl().
    }