1

我正在使用以下代码:

        if (!running()) // make sure osk is not running
            _process = Process.Start(@"c:\windows\system32\osk.exe");

        for (int bailout = 0; bailout < 50; bailout++)
        {
            if (_process.MainWindowHandle != IntPtr.Zero)
            {
                break;
            }
            Thread.Sleep(100);
            _process.Refresh();
        }

它似乎适用于大多数计算机,但不是全部。

(我已经尝试增加“救助”和睡眠时间)。

我没有收到就退出循环MainWindowHandle

4

0 回答 0