本帖最后由 9zhmke 于 2015-7-22 12:12 编辑
前段时间通过跟踪QQ五笔,把里面的动作精简下来用批处理来表达,删除了垃圾文件,但是安装过后必须要重新启动系统才能起作用。
有什么好办法可以不重启就使用刚安装的输入法吗?
QQ五笔可以从这里下载:http://pan.baidu.com/s/1jG7jQj8 进入“tmp”再进入“静默版绿色软件”,其中的QQ五笔就是了。
这些软件都是用7Z压缩后的自解压文件,可以直接解压,也可以改名为.EXE后直接运行。
为避免下载麻烦,贴出批处理:- :BEGIN
- set p=%cd:\=\\%
- >tmp.reg echo Windows Registry Editor Version 5.00
- >>tmp.reg echo [HKEY_CLASSES_ROOT\AppID\{6C9A660A-3E66-4042-9F1F-C4AEAF3CFC8A}]
- >>tmp.reg echo @="QQPYSetupChecker"
- ........略去部分
- rem 查看以前是否有安装、安装的代码是多少
- for /f "tokens=*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts" /S ^|find "QQ五笔" /n') do set a=%%i
- for /f "tokens=1 delims=]" %%i in ('echo %a%') do set n=%%i
- set a=%n:~1,1%
- ........略去部分
- :FIND_END
- echo %qqwb_ins%,状态应该为:%n%
- >>tmp.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\%n%]
- echo 输入法顺序里有,则跳转到最后,否则在末尾添加,List....
- reg query "HKEY_CURRENT_USER\Keyboard Layout\Preload" /s|find "%n%" && goto INPUT_END
- set j=
- for /f "tokens=*" %%i in ('reg query "HKEY_CURRENT_USER\Keyboard Layout\Preload" /s') do (
- set a=%%i
- echo %%i|find "!j! " && set /a j=j+1
- )
- echo YingGaiWei第%j%个输入法.
- echo [HKEY_CURRENT_USER\Keyboard Layout\Preload] >>tmp.reg
- echo "%j%"="%n%" >>tmp.reg
- :INPUT_END
- echo.>>tmp.reg
- rem 如果是32位把QQWubi.ime复制到c:\windows\system32;64位系统则复制到c:\windows\syswow64且把QQWubi64.ime复制到c:\windows\system32
- ........略去部分
- regedit /s tmp.reg
- del tmp.reg 2>nul
- :EXIT
复制代码
|