簡體   English   中英

C#是否可以停靠Windows 10的屏幕鍵盤?

[英]Is there a way for c# to dock onscreen keyboard of windows 10?

您可以使用以下命令從C#代碼打開Windows 10屏幕鍵盤:

System.Diagnostics.Process.Start("osk.exe");

在C#中,有沒有一種方法可以在打開該鍵盤時將其固定在屏幕底部?
我需要創建與“停靠”按鈕在屏幕鍵盤本身上相同的效果。

osk.exe支持未記錄的命令行參數/dockbottom 但是,運行osk.exe /dockbottom只是將鍵盤放在屏幕的底部,它與停放並不完全相同。 我不知道此參數的工作時間有多遠,但我確認它在Windows 8和10中可以工作。

我認為沒有辦法以編程方式實際停靠( 應用程序欄停靠)。 假冒單擊UI按鈕可能會起作用,但是您必須使用UI Automation,因為它不是真正的按鈕,整個窗口都是DirectUIHWND窗口。

作為一種黑客,您可以在HKEY_CURRENT_USER\\Software\\Microsoft\\OskHKEY_CURRENT_USER\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Accessibility\\ATConfig\\osk下將名為Dock的REG_DWORD設置為1 (這是一個易失性密鑰,因此您必須這樣打開),而osk.exe沒有運行。 當您再次啟動它時,它將讀取停靠設置並開始停靠。

注意:如果屏幕分辨率設置得太低,則無法使用此停靠模式。

Windows 8和更高版本還具有一個不同的屏幕鍵盤,稱為觸摸鍵盤。 您可以使用IFrameworkInputPane控制此鍵盤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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