Visual Studio 2012 内からプログラムを起動すると、次のコードが正しく実行されます。
int oskID = System.Diagnostics.Process.Start("c:\\WINDOWS\\system32\\osk.exe").Id;
Thread.Sleep(1500);
System.Diagnostics.Process.GetProcessById(oskID).Kill();
ただし、VS 2012 の外部から .exe を実行すると、すべてのプログラムで行うだけで、OSK が閉じず、次のエラーが表示されます。 ID のプロセスは実行されていません。
特定の OSK をシャットダウンする正しい方法は何ですか? そして、私のコードの何が問題になっていますか? 管理者として実行しても何も変わりません。