检测屏幕键盘是否打开

Cie*_*eja 1 .net c# wpf on-screen-keyboard

我想知道OSK.exe进程(屏幕键盘)是否打开.

这是打开OSK的代码:

Process.Start("C:\\Windows\\System32\\osk.exe");
Run Code Online (Sandbox Code Playgroud)

您是否有任何想法如何检查它并阻止启动两次以上这个过程?

Nie*_*ter 9

您可以按名称获取正在运行的进程,如下所示:

var arrProcs = Process.GetProcessesByName("osk");
if (arrProcs.Length == 0)
{
   Process.Start("C:\\Windows\\System32\\osk.exe");
}
Run Code Online (Sandbox Code Playgroud)