找回密码
 加入
搜索
查看: 7449|回复: 16

[AU3基础] AU3注册表调整输入法,不重启立即生效。或关闭输入法,设某输入法为默认(已解决)

  [复制链接]
发表于 2017-1-7 17:28:57 | 显示全部楼层 |阅读模式
本帖最后由 你没有kii 于 2017-1-14 11:46 编辑

RegWrite("HKEY_CURRENT_USER\Keyboard Layout\Preload","1","REG_SZ","e0210804")
RegWrite("HKEY_CURRENT_USER\Keyboard Layout\Preload","2","REG_SZ","00000804")
RegWrite("HKEY_CURRENT_USER\Keyboard Layout\Preload","3","REG_SZ","e0200804")
直接切换输入法无效。但可以在输入法设置看到输入法已改变。
请问怎么样可以在不重启来实现。重载这些设置呢。

dllcall("user32.dll","long","LoadKeyboardLayout","str","e0200804","int",0x1)
在贴子搜到这个是用来立即激活输入法。但无法设为默认输入法,我找其它帖子也找不到立即关闭其它输入法的办法。
发表于 2017-1-7 18:10:49 | 显示全部楼层
本帖最后由 q410225 于 2017-1-7 18:23 编辑

http://www.autoitx.com/thread-175-1-1.html
发表于 2017-1-7 18:24:14 | 显示全部楼层
Q7 如何不重启刷新注册表马上生效?
Do
        ProcessClose("explorer.exe")
Until Not ProcessExists("explorer.exe")
Run("gpupdate /force","",@SW_HIDE)

;强烈推存应用这个
DllCall("user32.dll","int","SendMessageTimeout","hwnd",65535,"int",26,"int",0,"int",0,"int",0,"int",1000,"str","dwResult")
 楼主| 发表于 2017-1-9 14:04:14 | 显示全部楼层
回复 3# q410225
直接用BAT吗。我试了不行
发表于 2017-1-9 17:45:11 | 显示全部楼层
;刷新
DllCall("shell32.dll", "none", "SHChangeNotify", "long", 0x8000000, "int", 0, "ptr", 0, "ptr", 0)
发表于 2017-1-9 17:46:13 | 显示全部楼层
回复 4# 你没有kii


3# 的是 AU3 脚本
DllCall("user32.dll","int","SendMessageTimeout","hwnd",65535,"int",26,"int",0,"int",0,"int",0,"int",1000,"str","dwResult")
 楼主| 发表于 2017-1-10 09:00:06 | 显示全部楼层
回复 6# chishingchan

我用了AU3转成EXE文件运行。也是不行。

看其它地方有人说是需要先用

Windows中的输入法是与键盘布局相对应的,所以先要卸载掉键盘布局(UnloadKeyboardLayout())和所有的输入法,再重新加载键盘布局(LoadKeyboardLayout),最后按新的顺序加载输入法

但我不知道具体 怎么操作
 楼主| 发表于 2017-1-10 14:35:38 | 显示全部楼层
回复 6# chishingchan

DllCall("user32.dll","long","LoadKeyboardLayout","str","e0200804","int",1+0)
我有这个就可以直接弄出搜狗拼音。但是设置里面没有了。
发表于 2017-1-10 16:05:41 | 显示全部楼层
我只收集到安装输入法的,没有卸载输入法的,给你参考:
DLLCALL("imm32.dll", "ptr", "ImmInstallIME", "str", @SYSTEMDIR & "\Filename.ime", "str", "中文 (简体) - 某某输入法")
发表于 2017-1-10 16:15:24 | 显示全部楼层
试试这个两是干什么用的吧!我也没用过。
ImmDisableIME
ImmDisableLegacyIME
 楼主| 发表于 2017-1-11 08:32:26 | 显示全部楼层
以上都没解决
发表于 2017-1-11 13:18:33 | 显示全部楼层
论坛里有个改IP不用重启的源码,你具体搜下~  利用那个可以实现你的目的~
 楼主| 发表于 2017-1-12 18:10:40 | 显示全部楼层
回复 12# austere


    搞 不定
发表于 2017-1-12 18:32:50 | 显示全部楼层
先读取或备份全部输入法注册表的项目.
接着删除,只保留你要设为默认的那个;
然后,激活.
最后回写别的输入法...
 楼主| 发表于 2017-1-12 22:51:50 | 显示全部楼层
回复 14# Alam
请问具体怎么操作呢?用dllcal做能做到吗还有调用什么函数
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-25 10:44 , Processed in 0.165949 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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