What is the correct way to shut down one specific OSK?
Is it even possible to have more than one instance of OSK open?
How about this instead?
System.Diagnostics.Process.Start("c:\\WINDOWS\\system32\\osk.exe");
Thread.Sleep(1500);
foreach (System.Diagnostics.Process p in System.Diagnostics.Process.GetProcessesByName("osk"))
{
p.Kill();
}