Запустите процесс Windows из программных файлов (x86) с помощью Process.Start ()

1

Я пытаюсь запустить процесс с помощью Process.Start() из моего C:\Program Files (x86) следующим образом:

Process proc = Process.Start("C:\\Program Files (x86)\\TestFolder\\TestApp.exe");    

Это вызывает Win32Exception: The system cannot find the file specified.

Если я попытаюсь запустить любой другой процесс, который не находится в папке x86, например:

Process proc = Process.Start("C:\\Windows\\System32\\calc.exe"); 

он отлично работает.

Поэтому я предполагаю, что исключение вызвано либо (x86), либо пробелом "Program Files".

Как я могу решить эту проблему с помощью пути к файлу?


Решив это, сделайте это следующим образом:

Process proc = Process.Start(@"C:\Program Files (x86)\TestFolder\TestApp.exe");

Поэтому я добавил @перед контуром и удалил двойную обратную косую черту в пути. таким образом он работает. если я делаю это с двойной BS, это не работает.

Теги:
process
filepath

2 ответа

1

Вы должны открыть свою среду IDE (Visual Studio) в качестве администратора, тогда вы сможете открыть TestApp.exe

  • 0
    Это не звучит правильно. Вам не нужно Visual Studio. Process.Start() должен выполняться из автономного приложения (например, консоли).
  • 0
    @ppittle: Да, это всего лишь пример, главное - это Администратор
0

Пространство в "Program Files" может быть причиной. Возможно, вам придется процитировать этот путь.

Process proc = Process.Start("\"C:\\Program Files (x86)\\TestFolder\\TestApp.exe\"");

Ещё вопросы

Сообщество Overcoder
Наверх
Меню