你没有kii 发表于 2017-1-7 17:28:57

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

本帖最后由 你没有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)
在贴子搜到这个是用来立即激活输入法。但无法设为默认输入法,我找其它帖子也找不到立即关闭其它输入法的办法。

q410225 发表于 2017-1-7 18:10:49

本帖最后由 q410225 于 2017-1-7 18:23 编辑

http://www.autoitx.com/thread-175-1-1.html

q410225 发表于 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")

你没有kii 发表于 2017-1-9 14:04:14

回复 3# q410225
直接用BAT吗。我试了不行

chishingchan 发表于 2017-1-9 17:45:11

;刷新
DllCall("shell32.dll", "none", "SHChangeNotify", "long", 0x8000000, "int", 0, "ptr", 0, "ptr", 0)

chishingchan 发表于 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")

你没有kii 发表于 2017-1-10 09:00:06

回复 6# chishingchan

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

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

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

但我不知道具体 怎么操作

你没有kii 发表于 2017-1-10 14:35:38

回复 6# chishingchan

DllCall("user32.dll","long","LoadKeyboardLayout","str","e0200804","int",1+0)
我有这个就可以直接弄出搜狗拼音。但是设置里面没有了。

chishingchan 发表于 2017-1-10 16:05:41

我只收集到安装输入法的,没有卸载输入法的,给你参考:DLLCALL("imm32.dll", "ptr", "ImmInstallIME", "str", @SYSTEMDIR & "\Filename.ime", "str", "中文 (简体) - 某某输入法")

chishingchan 发表于 2017-1-10 16:15:24

试试这个两是干什么用的吧!我也没用过。
ImmDisableIME
ImmDisableLegacyIME

你没有kii 发表于 2017-1-11 08:32:26

以上都没解决

austere 发表于 2017-1-11 13:18:33

论坛里有个改IP不用重启的源码,你具体搜下~利用那个可以实现你的目的~

你没有kii 发表于 2017-1-12 18:10:40

回复 12# austere


    搞 不定

Alam 发表于 2017-1-12 18:32:50

先读取或备份全部输入法注册表的项目.
接着删除,只保留你要设为默认的那个;
然后,激活.
最后回写别的输入法...

你没有kii 发表于 2017-1-12 22:51:50

回复 14# Alam
请问具体怎么操作呢?用dllcal做能做到吗还有调用什么函数
页: [1] 2
查看完整版本: AU3注册表调整输入法,不重启立即生效。或关闭输入法,设某输入法为默认(已解决)