2008-11-03 5 views
45

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

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

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

ответ

61

Process.Start.

Обратите внимание, что для использования в расширенных целях (печать и т. Д.) Необходимо использовать ProcessStartInfo и установить свойство Verb.

+12

(На нем есть свойство bool 'UseShellExecute'). – 2010-08-24 21:34:33

36

System.Diagnostics.Process.Start.

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

+2

+1 для полного пространства имен. – D3vtr0n 2012-11-27 23:11:30

3

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

Смежные вопросы