根据不同的程序窗口设置输入法
2010-04-14 23:00
295 查看
作者:maxspeedwind 于 2010-4-13 14:13
根据不同的程序窗口设置输入法,如键盘默认布局为英语(美国),运行脚本后,当开启Maxthon2,记事本,word,excel时,会设置输入法为QQ拼音。
我很不爽把输入法默认设为英文每次都要在文字输入时开启中文,或者把输入法默认设为中文后在某些程序和游戏中又要关闭一次。在本论坛和官网窜访了几次后做了这个脚本,一劳永逸了。
根据不同的程序窗口设置输入法,如键盘默认布局为英语(美国),运行脚本后,当开启Maxthon2,记事本,word,excel时,会设置输入法为QQ拼音。
我很不爽把输入法默认设为英文每次都要在文字输入时开启中文,或者把输入法默认设为中文后在某些程序和游戏中又要关闭一次。在本论坛和官网窜访了几次后做了这个脚本,一劳永逸了。
#Persistent Gui +LastFound hWnd := WinExist() DllCall( "RegisterShellHookWindow", UInt,hWnd ) MsgNum := DllCall( "RegisterWindowMessage", Str,"SHELLHOOK" ) OnMessage( MsgNum, "ShellMessage") Return ShellMessage( wParam,lParam ) { If ( wParam = 1 ) { WinGetclass, WinClass, ahk_id %lParam% If Winclass in Maxthon2_Frame,Notepad,OpusApp,XLMAIN ;需要开启中文输入的窗口类名 { winget,WinID,id,ahk_class %WinClass% SetLayout("E0200804",WinID) ;E0200804是QQ拼音代码,系统内安装的输入法代码可以在注册表HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Keyboard Layouts查到 } } } SetLayout(Layout,WinID){ DllCall("SendMessage", "UInt", WinID, "UInt", "80", "UInt", "1", "UInt", (DllCall("LoadKeyboardLayout", "Str", Layout, "UInt", "257"))) }
相关文章推荐
- 微信小程序缓存,根据不同的id来进行设置和读取缓存
- 根据不同的操作系统(64/32),设置文件以64位运行。又可解决问题:“试图加载不正确的程序”。
- windows应用开发由浅入深(三)利用注册表将程序启动时窗口位置设置为上次关闭的位置
- 为应用程序设置一个图标 (窗口左上角 程序图标)
- js 删除 根据不同情况,弹出不同窗口。
- 根据手机屏幕分辨率设置组件或控件的大小,利用像素更好的适配不同尺寸的机型的动态布局
- win7如何设置屏幕保护程序、窗口颜色和外观?
- ImageView设置图片按比例自适应缩放,9.png根据屏幕分辨率放到不同的drawable文件夹中
- Visual Studio 设置:包括根据不同类型的开发活动对集成开发环境 (IDE) 所做的各种自定义设置
- VS 之 C# 通过console 调用 exe 程序,窗口隐藏设置
- QT设置窗口模态 进程调用外部程序和入参
- 打开IE时,弹出对话窗口,提示“您计算机上某个程序已损坏了您对 Internet Explorer 默认搜索提供程序的设置”
- UIButton根据状态不同设置不同的背景图
- TcxTreeList根据level的不同设置将node设置不同的字体颜色等(2012-02-10 15:28:21)转载
- Android打电话程序(根据添加按钮监听的3种不同方式分别实现)
- 微信小程序 不同的移动设备上应该如何设置rpx单位?
- listctrl根据不同的内容设置不同的颜色
- 配置maven下载jar包源码文件、拷贝依赖jar到lib包、设置编译时jdk版本、根据不同环境采用不同配置
- Java: 在不同windows主题下,JFrame窗口设置最佳高度的解决方案