Date: 27.02.2018 18:40:22
Что значит из другой папки? Если вы физически пытаетесь скопировать osk.exe в другую папку, это естественно не работает.
У меня
Process.Start("osk");
Нормально запускает экранную клавиатуру из 64-битного приложения, но не работает из 32-битного.
Более того, sysnative почему-то не пашет в Windows 10. Не могу понять почему.
Date: 27.02.2018 19:01:58
64-битные приложения, определенно, не работают на 32-битных системах.
Впрочем, 32-битной Windows 10 в природе не существует.
Если не работает краткий путь, можно использовать полный:
System.IO.Path.Combine( Environment.GetFolderPath(Environment.SpecialFolder.Windows), "System32\\osk.exe");В x86 теоретически, вместо System32 должно работать Sysnative. Но не работает.
Date: 28.02.2018 4:21:04
Да, точно.
"Process.Start("osk") работает без проблем "
x86 или x64 ? У меня на x86 так и не заработало. Только через хак с вызовом 64-битного cmd:
ProcessStartInfo psi = new ProcessStartInfo(); psi.FileName = "c:\\windows\\sysnative\\cmd.exe"; psi.Arguments = "/k start osk && exit"; psi.CreateNoWindow = true; psi.WindowStyle = ProcessWindowStyle.Hidden; Process.Start(psi);
Date: 28.02.2018 7:59:59
Автор: VadimTagil