Эквивалент ShellExecute в .NET - PullRequest
47 голосов
/ 03 ноября 2008

Я ищу .NET-предпочтительный способ выполнения того же типа, что и ShellExecute в Win32 (открытие, печать и т. Д. Для произвольных типов файлов).

Я программирую Windows более 20 лет, но я новичок в .NET, так что, возможно, я просто смотрю в неправильных местах. В настоящее время я использую .NET 2.0 (VS C # 2005), но при необходимости могу использовать VS 2008.

Если единственный ответ - использовать P / Invoke, тогда мне лучше написать мою маленькую утилиту, используя Win32.

Ответы [ 3 ]

64 голосов
/ 03 ноября 2008

Process.Start .

Обратите внимание, что расширенное использование (печать и т. Д.) Требует использования ProcessStartInfo и установки свойства Глагол .

37 голосов
/ 03 ноября 2008

System.Diagnostics.Process.Start.

Бьюсь об заклад, у вас возникли проблемы с его поиском, поскольку он находится в пространстве имен System.Diagnostics. «Диагностика»? Обычно с 20-летним опытом вы можете понять, как будет называться новый API / язык, но этот обманул меня.

3 голосов
/ 03 ноября 2008

Пробовали ли вы функцию System.Diagnostics.Process.Start () ... Она более или менее похожа на ShellExecute. Вы можете открыть exes, документы. Я еще не проверял печать, Марк уже рассказал вам.

...