乱七八糟——微软拼音全拼双拼快速切换(Wegesture)
最近闲得无事(摸鱼),开始接触双拼,但是由于正处于过渡时期,不太熟练,仍然不时需要切换到全拼模式下以满足需求。但是秉着洁癖以及强迫症的原因,不想安装下载第二个输入法软件,于是打算开始动手,做出一个足够方便的方法在双拼和全拼中进行切换。
批处理文件处理
代码借鉴于这篇文章,由于不希望在切换时弹出窗口提示,所以将echo的命令去掉了,只要将下面代码复制到一个新建的批处理文件里保存,双击运行即可进行切换。
@echo off
set Mainkey=HKCU\SOFTWARE\Microsoft\InputMethod\Settings\CHS
for /f %%i in ('reg query %MainKey% /v "Enable Double Pinyin" ^| findstr /i "0x1"') do (set flg=%%i)
if not defined flg (
reg add %MainKey% /v "Enable Double Pinyin" /t REG_DWORD /d 0x1 /f
echo 已经切换到双拼
) else (
reg add %MainKey% /v "Enable Double Pinyin" /t REG_DWORD /d 0x0 /f
echo 已经切换到全拼
)
pause
我的版本:
changeDouble.bat
,点击变成双拼,不切换。
@echo off
set Mainkey=HKCU\SOFTWARE\Microsoft\InputMethod\Settings\CHS
for /f %%i in ('reg query %MainKey% /v "Enable Double Pinyin" ^| findstr /i "0x1"') do (set flg=%%i)
if not defined flg (
reg add %MainKey% /v "Enable Double Pinyin" /t REG_DWORD /d 0x1 /f
) else (
@REM reg add %MainKey% /v "Enable Double Pinyin" /t REG_DWORD /d 0x0 /f
)
pause
changeAll.bat
,点击变成全拼,不切换。
@echo off
set Mainkey=HKCU\SOFTWARE\Microsoft\InputMethod\Settings\CHS
for /f %%i in ('reg query %MainKey% /v "Enable Double Pinyin" ^| findstr /i "0x1"') do (set flg=%%i)
if not defined flg (
@REM reg add %MainKey% /v "Enable Double Pinyin" /t REG_DWORD /d 0x1 /f
) else (
reg add %MainKey% /v "Enable Double Pinyin" /t REG_DWORD /d 0x0 /f
)
pause
通过WeGesture绑定手势
如果觉得双击运行就可以的,就已经完成所有步骤了,但由于强迫症的影响,我觉得这还不够方便,又想到我一直以来一直使用的一个软件WeGesture(将特定的快捷键,命令行通过鼠标手势执行的一个软件),于是决定将运行bat文件的操作与手势进行绑定。具体设置见下。划红线部分是重点部分,其中一个表示与手势进行绑定的命令是什么,即运行C:\Program Files\Change\changeDouble.vbe,至于这个vbe是什么?本来应该是ChangeDouble.bat文件的,但为了执行之后不跳出cmd窗口,改为了运行vbe脚本文件,可以理解为vbe文件实现了运行changeDouble.bat,并在运行完后关闭cmd窗口的作用。下一个小结将给出代码。
另外注意第二个画圈部分,不要勾选“显示命令行窗口”。即本来是会弹出两个窗口的,一个通过vbe脚本进行关闭,一个通过不勾选“显示命令行窗口”进行关闭。
vbe代码
来自这篇博客。
changeDouble.vbe
set ws=wscript.createobject("wscript.shell")
ws.run "changeDouble.bat /start",0
changeAll.vbe
set ws=wscript.createobject("wscript.shell")
ws.run "changeAll.bat /start",0
效果
鼠标按住右键右滑,切换为双拼:
鼠标按住右键左滑,切换为全拼:
方便快捷,nice!