[英]UWP C# - Setting the Language for InputInjector Keyboard
我有一個帶有使用Buttons的簡單屏幕鍵盤的UWP app,它使用InputInjector類在按下按鈕時發送鍵,我已經制作了一個發送鍵的功能:
public void SendKey(ushort keyCode)
{
InjectedInputKeyboardInfo inputInfo = new InjectedInputKeyboardInfo();
InjectedInputKeyboardInfo myinput = new InjectedInputKeyboardInfo();
myinput.VirtualKey = keyCode;
var injector = InputInjector.TryCreate();
injector.InjectKeyboardInput(new List<InjectedInputKeyboardInfo> { myinput });
}
我將如何指定哪種語言? 目前,它使用系統語言,但該應用程序以全屏模式運行,並且用戶無法更改系統語言。
例如:如果系統語言是英語,則SendKey((ushort)'E')
將發送E,如果系統語言不是英語,則E鍵用另一種語言表示。 我想要一種使用代碼而不是Windows 10語言欄來更改語言的方法。
不幸的是,您無法更改此行為。 InputInjector
的目的是模擬實際的按鍵,而不模擬“字符”。 因此,當用戶設置了英文鍵盤后,您模擬的按鍵將與英文鍵盤匹配。
實際上,您甚至可以模擬Shift + Alt鍵盤快捷鍵,以將用戶的當前語言切換到她的語言列表中的下一個語言:-D。 關鍵是,您正在仿真硬件本身,而不是硬件的解釋方式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.