找回密码
 加入
搜索
查看: 5027|回复: 10

au3切换输入法!

[复制链接]
发表于 2008-7-17 20:09:42 | 显示全部楼层 |阅读模式
在指定窗口切换到指定的输入法,,?         就这

弄了好几天的问题了        我用send弄了实在不好使       还有各种方法都试了     小弟不才搞不定

    到网上找api自己又不知道怎么弄。

            就差个好使的切换方法了   其他都没问题  !

                     如果能用api  那最好了

[ 本帖最后由 qop1830 于 2008-7-18 22:30 编辑 ]
发表于 2008-7-17 23:51:29 | 显示全部楼层
autoit模拟鼠标键盘确实耽误事,成功率不能100%,相当的烦人。
发表于 2008-7-18 00:23:24 | 显示全部楼层
直接CALL API来实现的。不是发送按键的。
 楼主| 发表于 2008-7-18 01:36:13 | 显示全部楼层
   小的不才           那API  我到MSND上看了  但是我不知道au3上怎么用    瞎折腾了好段时间了   =.=
 楼主| 发表于 2008-7-18 15:22:37 | 显示全部楼层
GUICreate('hgf')
GUISetState()
$rr=dllcall("user32.dll","long","LoadKeyboardLayout","str","E0040804","int",1+0);呼叫拼音++
sleep(2000)
DllCall("user32.dll","int","UnloadKeyboardLayout","long",$rr[0]);关闭拼音++,注意这个$rr[0]
sleep(2000)


只队本窗口有效果。。。   要怎样才能对所有窗口都有效果呢 ???
 楼主| 发表于 2008-7-18 19:56:47 | 显示全部楼层
     又一天了   未果。。。         是没挑战性???
发表于 2008-7-18 20:07:22 | 显示全部楼层
对所有窗口有效果。要用API发一个信息过去的。我没时间研究,你先研究一下。
发表于 2008-7-18 20:51:20 | 显示全部楼层
Func LoadKeyboardLayout($sLayoutID, $hWnd)
        Local $WM_INPUTLANGCHANGEREQUEST = 0x50
        Local $ret = DllCall("user32.dll", "long", "LoadKeyboardLayout", "str", $sLayoutID, "int", 1+0)
        DllCall("user32.dll", "ptr", "SendMessage", "hwnd", $hWnd, _
                        "int", $WM_INPUTLANGCHANGEREQUEST, _
                        "int", 1, _
                        "int", $ret[0])
EndFunc   ;==>LoadKeyboardLayout
发表于 2008-7-18 21:50:02 | 显示全部楼层
不错啊,要是再来个
对当前用户的所有输入法列表就更好了
 楼主| 发表于 2008-7-18 22:30:12 | 显示全部楼层
     神一搬的人出现了就是不一样    感谢AU3    感谢sanhen  感谢pcbar    感谢CCTV。。。。。。
   感谢没个回帖的人!     
此问题搞定!!
发表于 2010-3-2 16:51:25 | 显示全部楼层
回复 5# qop1830


    关注中.........
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-7-3 07:43 , Processed in 0.078382 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表