Quantcast
Channel: 簡睿隨筆
Viewing all articles
Browse latest Browse all 897

使用AutoHotkey快速切換語言鍵盤,和超難用的Ctrl/Alt+Shift說再見!(AHK #9)

$
0
0

Windows 10切換輸入法很麻煩。首先,設定不太好找,在Windows 10版本1803後,鍵盤設定的步驟是:

  1. 〔Win+I〕
  2. 裝置
  3. 輸入
  4. 進階鍵盤設定
  5. 輸入語言快速鍵

變更中英鍵盤或輸入法的按鍵,必須是〔Ctrl+Shift〕或〔Alt+Shift〕這兩種複合鍵,其實不太方便按。

AutoHotkey腳本

我們要設定〔Alt+1〕是英文輸入,〔Alt+2〕是中文輸入,〔Alt+0〕是中英輸入循環切換。

腳本 test9.ahk檔案下載,按右鍵另存新檔:

#SingleInstance Force

!1::
  SetDefaultKeyboard(0x0409)  ;;// 切換為英文輸入
  return

!2::
  SetDefaultKeyboard(0x0404)  ;;// 切換為中文輸入
  return

!0::
  V++
  M := mod(V,2)
  if M=1
    SetDefaultKeyboard(0x0404)  ;;// 切換為中文輸入
  else
    SetDefaultKeyboard(0x0409)  ;;// 切換為英文輸入
  return

// 設定鍵盤的函數,使用Windows API
SetDefaultKeyboard(LocaleID) {
  Global SPI_SETDEFAULTINPUTLANG := 0x005A
  SPIF_SENDWININICHANGE := 2
  Lan := DllCall("LoadKeyboardLayout", "Str", Format("{:08x}", LocaleID), "Int", 0)
  VarSetCapacity(Lan%LocaleID%, 4, 0)
  NumPut(LocaleID, Lan%LocaleID%)
  ;Lan := 0xE0090404
  DllCall("SystemParametersInfo", "UInt", SPI_SETDEFAULTINPUTLANG, "UInt", 0, "UPtr", &Lan%LocaleID%, "UInt", SPIF_SENDWININICHANGE)
  WinGet, windows, List
  Loop %windows% {
    PostMessage 0x50, 0, %Lan%, , % "ahk_id " windows%A_Index%
  }
}

操作說明影片

##

您可能也會有興趣的類似文章


Viewing all articles
Browse latest Browse all 897

Trending Articles