繁体   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