簡體   English   中英

UWP C#-設置InputInjector鍵盤的語言

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM