最近閑得無事(摸魚),開始接觸雙拼,但是由於正處於過渡時期,不太熟練,仍然不時需要切換到全拼模式下以滿足需求。但是秉着潔癖以及強迫症的原因,不想安裝下載第二個輸入法軟件,於是打算開始動手,做出一個足夠方便的方法在雙拼和全拼中進行切換。
批處理文件處理
代碼借鑒於這篇文章,由於不希望在切換時彈出窗口提示,所以將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!