ActivateKeyboardLayout 函式 (winuser.h)
設定輸入地區設定識別碼 (先前稱為呼叫執行緒或目前進程的鍵盤配置控制碼) 。 輸入地區設定識別碼會指定地區設定,以及鍵盤的實體配置。
語法
HKL ActivateKeyboardLayout(
[in] HKL hkl,
[in] UINT Flags
);
參數
[in] hkl
類型: HKL
要啟動的輸入地區設定識別碼。
輸入地區設定識別碼必須已由先前對 LoadKeyboardLayout 函式的呼叫載入。 此參數必須是鍵盤配置或下列其中一個值的控制碼。
值 | 意義 |
---|---|
|
在系統維護的已載入地區設定識別碼迴圈清單中,選取下一個地區設定識別碼。 |
|
在系統所維護的已載入地區設定識別碼迴圈清單中,選取先前的地區設定識別碼。 |
[in] Flags
類型: UINT
指定如何啟動輸入地區設定識別碼。 此參數可以是下列其中一個值。
值 | 意義 |
---|---|
|
如果設定此位,系統會將地區設定識別碼移至清單的前端,以重新排序系統載入的地區設定識別碼迴圈清單。 如果未設定此位,清單會輪替,而不會變更順序。
例如,如果使用者使用英文地區設定識別碼,以及以該順序載入 (法文、德文和西班牙文地區設定識別碼) ,則啟用 KLF_REORDER 位集的德文地區設定識別碼會產生下列順序:德文、英文、法文、西班牙文。 啟用沒有KLF_REORDER位集的德文地區 設定 識別碼會產生下列順序:德文、西班牙文、英文、法文。 如果載入少於三個地區設定識別碼,則此旗標的值無關。 |
|
如果設定但 未設定KLF_SHIFTLOCK ,則會再次按下 CAPS LOCK 鍵來關閉 CAPS LOCK 狀態。 如果同時設定和 KLF_SHIFTLOCK ,按下任一 SHIFT 鍵會關閉 CAPS LOCK 狀態。
這兩種方法互斥,而且設定會保存為登錄中使用者設定檔的一部分。 |
|
啟動整個進程的指定地區設定識別碼,並將 WM_INPUTLANGCHANGE 訊息傳送至目前線程的焦點或使用中視窗。 |
|
這會與 KLF_RESET搭配使用。 如需說明 ,請參閱KLF_RESET 。 |
|
不支援此旗標。 請改用 UnloadKeyboardLayout 函式。 |
傳回值
類型: HKL
傳回值的類型為 HKL。 如果函式成功,傳回值就是先前的輸入地區設定識別碼。 否則為零。
若要取得擴充的錯誤資訊,請使用 GetLastError 函 式。
備註
此函式只會影響目前進程或執行緒的配置。
此函式不限於鍵盤配置。 hkl參數實際上是輸入地區設定識別碼。 這是比鍵盤版面配置更廣泛的概念,因為它也可以包含語音轉換文字轉換器、輸入法編輯器 (輸入法) 或任何其他形式的輸入。 您可以隨時載入數個輸入地區設定識別碼,但一次只能載入一個。 載入多個輸入地區設定識別碼可讓您快速切換它們。
當每個地區設定允許多個 IME 時,傳遞輸入地區設定識別碼,其中高字 (裝置控制碼) 為零會啟動屬於地區設定清單中的第一個 IME。
KLF_RESET和KLF_SHIFTLOCK旗標會改變關閉 CAPS LOCK 狀態的方法。 根據預設,CAPS LOCK 狀態會再次按下 CAPS LOCK 鍵來關閉。 如果只設定 KLF_RESET ,則會重新建立預設狀態。 如果 已設定KLF_RESET 和 KLF_SHIFTLOCK ,則會按下 CAPS LOCK 鍵來關閉 CAPS LOCK 狀態。 這項功能是用來符合本機鍵盤行為標準,以及個人喜好設定。
規格需求
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | winuser.h (包含 Windows.h) |
程式庫 | User32.lib |
Dll | User32.dll |
另請參閱
概念
參考