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