[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 请教批处理怎么输入法刷新?

本帖最后由 9zhmke 于 2015-7-22 12:12 编辑

前段时间通过跟踪QQ五笔,把里面的动作精简下来用批处理来表达,删除了垃圾文件,但是安装过后必须要重新启动系统才能起作用。

有什么好办法可以不重启就使用刚安装的输入法吗?

QQ五笔可以从这里下载:http://pan.baidu.com/s/1jG7jQj8  进入“tmp”再进入“静默版绿色软件”,其中的QQ五笔就是了。
这些软件都是用7Z压缩后的自解压文件,可以直接解压,也可以改名为.EXE后直接运行。

为避免下载麻烦,贴出批处理:
  1. :BEGIN
  2. set p=%cd:\=\\%
  3. >tmp.reg echo Windows Registry Editor Version 5.00
  4. >>tmp.reg echo [HKEY_CLASSES_ROOT\AppID\{6C9A660A-3E66-4042-9F1F-C4AEAF3CFC8A}]
  5. >>tmp.reg echo @="QQPYSetupChecker"
  6. ........略去部分
  7. rem 查看以前是否有安装、安装的代码是多少
  8. for /f "tokens=*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts" /S ^|find "QQ五笔" /n') do set a=%%i
  9. for /f "tokens=1 delims=]" %%i in ('echo %a%') do set n=%%i
  10. set a=%n:~1,1%
  11. ........略去部分
  12. :FIND_END
  13. echo %qqwb_ins%,状态应该为:%n%
  14. >>tmp.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\%n%]
  15. echo 输入法顺序里有,则跳转到最后,否则在末尾添加,List....
  16. reg query "HKEY_CURRENT_USER\Keyboard Layout\Preload" /s|find "%n%" && goto INPUT_END
  17. set j=
  18. for /f "tokens=*" %%i in ('reg query "HKEY_CURRENT_USER\Keyboard Layout\Preload" /s') do (
  19.     set a=%%i
  20.     echo %%i|find "!j! " && set /a j=j+1
  21.     )
  22. echo YingGaiWei第%j%个输入法.
  23. echo [HKEY_CURRENT_USER\Keyboard Layout\Preload] >>tmp.reg
  24. echo "%j%"="%n%" >>tmp.reg
  25. :INPUT_END
  26. echo.>>tmp.reg
  27. rem 如果是32位把QQWubi.ime复制到c:\windows\system32;64位系统则复制到c:\windows\syswow64且把QQWubi64.ime复制到c:\windows\system32
  28. ........略去部分
  29. regedit /s tmp.reg
  30. del tmp.reg 2>nul
  31. :EXIT
复制代码

高手们到哪儿去了?

TOP

本帖最后由 9zhmke 于 2015-7-20 00:13 编辑

查到一句类似的话,可以调出输入法控制面板,但不能实现刷新,还是得重启才能生效:

START RunDll32.exe shell32.dll,Control_RunDLL "%SystemRoot%\System32\input.dll"

刷新注册表:RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters

还有什么招没有呢?

TOP

返回列表