使用C#中的按钮调用屏幕键盘

22

我正在使用C#创建一个Windows应用程序,在GUI上点击一个按钮后,应该显示屏幕键盘。

如果有任何帮助,将不胜感激。谢谢。

另外,由于我大多数时候都在使用Emgu Cv库来完成我的应用程序,我们能否简单地利用它来调用屏幕键盘?


7
Process.Start("osk.exe"); 应该适用于所有 Windows 系统。 - Cody Gray
@CodyGray 很不幸,在构建 x86 时无法工作(由于 GeckoFx 强制要求)。 - oo_dev
3个回答

35

在C#中,您可以简单地编写以下代码行来调用随Windows附带的屏幕键盘应用程序:

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

你可以在这里找到更多帮助


我刚在Win10(创作者更新版)上尝试了一下,它可以正常工作。 - Lyra
3
在Windows 10上,您需要按照@Hassan Rahman所说的更改构建设置以执行x64目标。 - john.kernel
这个链接中的解决方案对我起了作用:https://dev59.com/snA85IYBdhLWcg3wHv3B - Ali Majed HA

14

对于Windows 10 x64,您已将项目构建设置为x64,如图所示。

在此输入图片描述

Process process = Process.Start(new ProcessStartInfo(
            ((Environment.GetFolderPath(Environment.SpecialFolder.System) + @"\osk.exe"))));

0
我在尝试在一个端点内运行osk时遇到了一些问题。这个方法对我有效:
var onScreenKeyboardProcess = new ProcessStartInfo("osk.exe")
{                    
    UseShellExecute = true
};
Process.Start(onScreenKeyboardProcess);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接