|
繁體注音輸入法(韓文應該也是這樣)必須在 LoadShell 階段,執行 IME_Cmd.cmd 才能正常運作 (只有 ctfmon.exe 不夠 ) 。
所以必須把 %X_SYS%\pecmd.ini 中這行
IFEX %WinDir%\System32\ctfmon.exe, EXEC PECMD.exe EXEC -su %WinDir%\System32\ctfmon.exe
改成
EXEC =! IME_Cmd.cmd
pecmd.ini 中這行的寫法很怪
IFEX %WinDir%\System32\ctfmon.exe, EXEC PECMD.exe EXEC -su %WinDir%\System32\ctfmon.exe
因為 pecmd.exe 執行 pecmd.ini 內容,但此處又叫用一次 PECMD.exe EXEC -su 感覺很怪。
另外 IME\IME_Cmd.txt 中,這行也很怪
PECMD.EXE EXEC -su ctfmon.exe
改成
ctfmon.exe 或是 start ctfmon.exe
就可以了
我把這行加到 IME\Ime_zh-TW.bat 最後面,繁體注音輸入法就可以正常運作。
call TextReplace "%X_SYS%\pecmd.ini" "IFEX #pWinDir#p\System32\ctfmon.exe, EXEC PECMD.exe EXEC -su #pWinDir#p\System32\ctfmon.exe" "EXEC *IME_Cmd.cmd"
本來想改成 EXEC =! IME_Cmd.cmd,不過 TextReplace.bat 一直不成功,所以目前是 EXEC *IME_Cmd.cmd
因為 pecmd.exe, pecmd.ini, IME_Cmd.cmd, ctfmon.exe 都在 system32 下,叫用時不需指定完整路徑
Pecmd.lua 也要改
call TextReplace "%X_SYS%\pecmd.lua" "exec('PECMD.EXE EXEC -su ctfmon.exe')" "exec('/hide', 'cmd.exe /c IME_Cmd.cmd'"
startnet.cmd 正確
|
|