[已解决]如何判断当前窗口是否打开输入法?
本帖最后由 wl00560 于 2010-8-19 16:33 编辑如何判断当前窗口是否打开了输入法?
如果打开了输入法,则执行a.exe
如果没有打开输入法,则执行b.exe 本帖最后由 zcx880517 于 2010-8-19 15:12 编辑
可以根据这个来试试。
http://www.autoitx.com/forum.php?mod=viewthread&tid=16949&highlight=%CA%E4%C8%EB%B7%A8
先判断当前输入法
你的用意是什么呢?切换输入法还是? 想编个能登录论坛的脚本。
但AutoIt没办法输入中文,所以有时候需要输入法,有时候又不需要,呵呵 谢谢,解决了 1.新创建的窗口/进程是不管原先的输入法状态的.
2.只能关闭自己进程的输入法状态.
举个例子:
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 615, 438, 192, 124)
$Edit1 = GUICtrlCreateEdit("", 8, 16, 601, 417)
GUICtrlSetData(-1, "Edit1")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
MsgBox(32,'禁用前','禁用输入法')
$rt=DllCall('imm32.dll','int','ImmDisableIME','DWORD',0)
If IsArray($rt) Then
$rt=$rt
Else
$rt=-1
EndIf
MsgBox(32,"禁用后",$rt)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd 學習了..謝謝! 好的,正在找关闭输入法,谢了 好的,正在找关闭输入法,谢了 DllCall('imm32.dll','int','ImmDisableIME','DWORD',0);禁用输入法就这一句,真心好用
页:
[1]