Не могу найти osk.exe

Я пытаюсь запустить экранную клавиатуру с помощью C#. Мне нужно, чтобы запустить на 32-разрядной машине. Я бегу выиграть 10. До сих пор я пытался

Process.Start(@"%windir%\system32\osk.exe");

Process.Start(@"C:\Users\mxrac\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessibilit\osk.exe");

Process.Start("osk.exe");

Каждый раз, когда я получаю System.ComponentModel.Win32Exception: "Система не может найти указанный файл"

Я перепробовал все в Интернете и не могу заставить ничего работать. Я знаю, что osk есть, потому что я запускаю его, я просто не могу запустить его через C#. Машина, на которой это должно работать, является 32-разрядным промышленным ПК. Я не могу настроить машину для запуска x64.

1 ответ

Так что это сработало для меня, но я на машине с x64:

    static void Main(string[] args)
    {
        ProcessStartInfo proc = new ProcessStartInfo("C:\\Windows\\System32\\osk.exe");
        proc.UseShellExecute = true;
        Process.Start(proc);
        Console.ReadLine();
    }

Если я установил для Platform target значение x86, это не сработает, но если я установлю его на Any CPU и предпочитаю 32-битный, это сработает (в свойствах сборки).

Другие вопросы по тегам