天天看点

乱七八糟——微软拼音全拼双拼快速切换(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脚本进行关闭,一个通过不勾选“显示命令行窗口”进行关闭。

乱七八糟——微软拼音全拼双拼快速切换(Wegesture)

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  
      

效果

鼠标按住右键右滑,切换为双拼:

乱七八糟——微软拼音全拼双拼快速切换(Wegesture)

鼠标按住右键左滑,切换为全拼:

乱七八糟——微软拼音全拼双拼快速切换(Wegesture)

方便快捷,nice!