Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法让c#与Windows10的屏幕键盘对接?_C#_Windows_On Screen Keyboard - Fatal编程技术网

有没有办法让c#与Windows10的屏幕键盘对接?

有没有办法让c#与Windows10的屏幕键盘对接?,c#,windows,on-screen-keyboard,C#,Windows,On Screen Keyboard,您可以使用以下方法从C代码打开Windows 10屏幕键盘: System.Diagnostics.Process.Start("osk.exe"); 在C#中是否有方法在打开键盘时将其固定在屏幕底部? 我需要创建与屏幕键盘上的“dock”按钮相同的效果。osk.exe支持未记录的命令行参数/dockbottom。但是,运行osk.exe/dockbottom只会将键盘放在屏幕底部,这与对接并不完全相同。我不知道这个参数的工作时间有多远,但我确认它在Windows8和Windows10中工作

您可以使用以下方法从C代码打开Windows 10屏幕键盘:

System.Diagnostics.Process.Start("osk.exe");
在C#中是否有方法在打开键盘时将其固定在屏幕底部?

我需要创建与屏幕键盘上的“dock”按钮相同的效果。

osk.exe支持未记录的命令行参数
/dockbottom
。但是,运行
osk.exe/dockbottom
只会将键盘放在屏幕底部,这与对接并不完全相同。我不知道这个参数的工作时间有多远,但我确认它在Windows8和Windows10中工作

我不认为有一种方法可以通过编程实现对接。假装点击UI按钮可能会起作用,但您必须使用UI自动化,因为它不是一个真正的按钮,整个窗口都是一个窗口

作为黑客,你可以在Osk.exe未运行时,在
HKEY\u CURRENT\u USER\Software\Microsoft\Osk
HKEY\u CURRENT\u USER\Software\Microsoft\windowsnt\CurrentVersion\Accessibility\ATConfig\Osk
下将名为
Dock
的注册表项设置为
1
。再次启动时,它将读取停靠设置并启动停靠

注意:如果屏幕分辨率设置过低,则此对接模式不可用


Windows8和更高版本也有一个不同的屏幕键盘,称为触摸键盘。您可以使用控制此键盘。

osk.exe支持未记录的命令行参数
/dockbottom
。但是,运行
osk.exe/dockbottom
只会将键盘放在屏幕底部,这与对接并不完全相同。我不知道这个参数的工作时间有多远,但我确认它在Windows8和Windows10中工作

我不认为有一种方法可以通过编程实现对接。假装点击UI按钮可能会起作用,但您必须使用UI自动化,因为它不是一个真正的按钮,整个窗口都是一个窗口

作为黑客,你可以在Osk.exe未运行时,在
HKEY\u CURRENT\u USER\Software\Microsoft\Osk
HKEY\u CURRENT\u USER\Software\Microsoft\windowsnt\CurrentVersion\Accessibility\ATConfig\Osk
下将名为
Dock
的注册表项设置为
1
。再次启动时,它将读取停靠设置并启动停靠

注意:如果屏幕分辨率设置过低,则此对接模式不可用


Windows8和更高版本也有一个不同的屏幕键盘,称为触摸键盘。您可以使用控制此键盘。

您可以尝试此操作,请参见:。可能会对您有所帮助。Windows 8+中有两个屏幕键盘,osk.exe是Windows 2000/XP中的旧键盘。Win10使用非常不同的方式显示osk,因此旧的黑客攻击不再有效。这不是什么实际问题,用户只需单击“Mv Dn”一次,就可以记住上次显示的位置。您可以尝试此方法,请参见:。可能会对您有所帮助。Windows 8+中有两个屏幕键盘,osk.exe是Windows 2000/XP中的旧键盘。Win10使用非常不同的方式显示osk,因此旧的黑客攻击不再有效。这不是什么实际问题,用户只需单击“Mv Dn”一次,就可以记住它最后显示的位置。注册表解决方法似乎可行,但问题是,当用户单击(突出显示的)dock按钮时,它也会更改注册表值,因此下一次,它会再次开始取消锁定。除了每次需要显示屏幕键盘时修改注册表值之外,还有什么窍门吗?因为应用程序必须运行提升版,对吗?@aros你不必提升版才能写入HKCU。哦,真的吗?有趣。那我就试试看。感谢您提供的信息。注册表解决方案似乎很有效,但问题是,当用户单击(突出显示的)停靠按钮时,它也会更改注册表值,因此下次它将再次开始取消停靠。除了每次需要显示屏幕键盘时修改注册表值之外,还有什么窍门吗?因为应用程序必须运行提升版,对吗?@aros你不必提升版才能写入HKCU。哦,真的吗?有趣。那我就试试看。谢谢你的信息。