我很经常用到一个字符串 "Heloo"所以我想  如果按下Z键后就会在光标处写入"Heloo" 这要用到HOOK吗... 还有其他办法不?

解决方案 »

  1.   

    用SendInput/keyboard_event模拟键盘操作
      

  2.   

    不过按下Z需要你自己去处理,用Hook或者快捷键去响应
      

  3.   

    特定的系统上就快捷键吧  毕竟hook占东东
    如路上所说你要输入个Z怎么办! 呵呵 最好组合键
      

  4.   


    求SendInput Z键输入“Hello”我再加分... 我急用....小菜技术不精...
      

  5.   

    1、用RegisterHotKey(m_hWnd, atomHot, Modifiers, HotVKC)注册全局快捷键
    2、xxx.h中  LRESULT OnHotKey(WPARAM wParam, LPARAM lParam);
    3、xxx.cpp中 
    BEGIN_MESSAGE_MAP(Cxxx, CDialog)
    ON_MESSAGE(WM_HOTKEY, OnHotKey)
    END_MESSAGE_MAP()
    4、
    LRESULT Cxxx::OnHotKey(WPARAM wParam, LPARAM lParam)
    {
    if(wParam == atomHot)
    keybd_event ('H', MapVirtualKey ('H', 0), 0, 0);
    keybd_event ('H', MapVirtualKey ('H', 0), KEYEVENTF_KEYUP, 0);
    keybd_event ('e', MapVirtualKey ('e', 0), 0, 0);
    keybd_event ('e', MapVirtualKey ('e', 0), KEYEVENTF_KEYUP, 0);
    keybd_event ('l', MapVirtualKey ('l', 0), 0, 0);
    keybd_event ('l', MapVirtualKey ('l', 0), KEYEVENTF_KEYUP, 0);
    keybd_event ('l', MapVirtualKey ('l', 0), 0, 0);
    keybd_event ('l', MapVirtualKey ('l', 0), KEYEVENTF_KEYUP, 0);
    keybd_event ('o', MapVirtualKey ('o', 0), 0, 0);
    keybd_event ('o', MapVirtualKey ('o', 0), KEYEVENTF_KEYUP, 0);
    return TRUE;
    }
      

  6.   

    1、用RegisterHotKey(m_hWnd, atomHot, Modifiers, HotVKC)注册全局快捷键
    2、xxx.h中 LRESULT OnHotKey(WPARAM wParam, LPARAM lParam);
    3、xxx.cpp中  
    BEGIN_MESSAGE_MAP(Cxxx, CDialog)
    ON_MESSAGE(WM_HOTKEY, OnHotKey)
    END_MESSAGE_MAP()
    4、LRESULT Cxxx::OnHotKey(WPARAM wParam, LPARAM lParam)
    {
    if(wParam == atomHot)
    {
    keybd_event ('H', MapVirtualKey ('H', 0), 0, 0);
    keybd_event ('H', MapVirtualKey ('H', 0), KEYEVENTF_KEYUP, 0);
    keybd_event ('e', MapVirtualKey ('e', 0), 0, 0);
    keybd_event ('e', MapVirtualKey ('e', 0), KEYEVENTF_KEYUP, 0);
    keybd_event ('l', MapVirtualKey ('l', 0), 0, 0);
    keybd_event ('l', MapVirtualKey ('l', 0), KEYEVENTF_KEYUP, 0);
    keybd_event ('l', MapVirtualKey ('l', 0), 0, 0);
    keybd_event ('l', MapVirtualKey ('l', 0), KEYEVENTF_KEYUP, 0);
    keybd_event ('o', MapVirtualKey ('o', 0), 0, 0);
    keybd_event ('o', MapVirtualKey ('o', 0), KEYEVENTF_KEYUP, 0);
    }
    return TRUE;
    }
    5、程序结束时。UnregisterHotKey(m_hWnd, atomHot);