wl00560 发表于 2010-8-19 14:48:24

[已解决]如何判断当前窗口是否打开输入法?

本帖最后由 wl00560 于 2010-8-19 16:33 编辑

如何判断当前窗口是否打开了输入法?
如果打开了输入法,则执行a.exe
如果没有打开输入法,则执行b.exe

zcx880517 发表于 2010-8-19 14:55:17

本帖最后由 zcx880517 于 2010-8-19 15:12 编辑

可以根据这个来试试。
http://www.autoitx.com/forum.php?mod=viewthread&tid=16949&highlight=%CA%E4%C8%EB%B7%A8
先判断当前输入法


你的用意是什么呢?切换输入法还是?

wl00560 发表于 2010-8-19 16:13:47

想编个能登录论坛的脚本。
但AutoIt没办法输入中文,所以有时候需要输入法,有时候又不需要,呵呵

wl00560 发表于 2010-8-19 16:33:06

谢谢,解决了

thesnow 发表于 2010-8-19 16:33:55

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

yao1377 发表于 2010-8-26 16:06:05

學習了..謝謝!

jianganew 发表于 2011-2-26 22:23:41

好的,正在找关闭输入法,谢了

jianganew 发表于 2011-2-26 22:23:50

好的,正在找关闭输入法,谢了

bdrdc 发表于 2014-1-16 21:36:40

DllCall('imm32.dll','int','ImmDisableIME','DWORD',0);禁用输入法就这一句,真心好用
页: [1]
查看完整版本: [已解决]如何判断当前窗口是否打开输入法?