Любой способ интерпретировать команду без запуска cmd.exe? - PullRequest
0 голосов
/ 27 апреля 2011

Я ищу способ запустить исполняемый файл или сценарий, не заставляя cmd.exe сделать это для меня.В настоящее время я запускаю процесс, используя cmd.exe /C <command>, для чего мне нужно выполнить следующие действия:

  • Найдите исполняемый файл в текущем каталоге и PATH
  • ИнтерпретироватьPATHEXT для разрешения команд сценариев без расширения
  • Интерпретация ассоциаций файлов, например, для запуска интерпретатора python, когда я говорю, чтобы он запускал blah.py.

I don 't необходимо иметь возможность запускать любую из «встроенных» команд, например «dir».

Можно ли избежать использования cmd.exe без существенной повторной реализации всех вышеперечисленных функций?Должен быть какой-то API-интерфейс оболочки, чтобы делать вышеперечисленные вещи, верно?

Ответы [ 2 ]

2 голосов
/ 27 апреля 2011

ShellExecute должен делать именно то, что вы хотите - вы можете использовать его для запуска исполняемого файла или файла (который затем открывается стандартным приложением),

http://msdn.microsoft.com/en-us/library/bb762153%28v=vs.85%29.aspx

2 голосов
/ 27 апреля 2011

Посмотрите на System.Diagnostics.Process.Start (appName, args).http://msdn.microsoft.com/en-us/library/system.diagnostics.process.start.aspx и про оболочку, вы смотрели: http://msdn.microsoft.com/en-us/library/bb773177(v=vs.85).aspx?

...