在编写钩子的时候,尽量多使用ControlSend,但某些情况下需要使用 send,
可以先切换输入法为英文再使用send。

"08040804"为:英语美式键盘,如需切换其它输入法,修改此处即可!



具体代码如下:
 
    


  1. $hWnd = WinGetHandle ( "[ACTIVE]" ) ;$hWnd 为目标窗口句柄,这里设置的是当前活动窗口




  2. $ret = DllCall ( "user32.dll" , "long" , "LoadKeyboardLayout" , "str" , "08040804" , "int" , 1 + 0 )

  3. DllCall ( "user32.dll" , "ptr" , "SendMessage" , "hwnd" , $hWnd , "int" , 0x50 , "int" , 1 , "int" , $ret [ 0 ] )

  4. Send ( 'nh' )



其它编码
E0100804 : 五笔
E0010804 : 全拼
E0040804 : 智能ABC

如需其它编码,可查询注册表,参见下图,IME 2010的编码:e0200411



183315113.jpg