52

我正在寻找 .NET 首选的方式来执行与 ShellExecute 在 Win32 中执行的相同类型的操作(针对任意文件类型打开、打印等)。

我已经编写 Windows 20 多年了,但我是 .NET 的新手,所以也许我只是在寻找错误的地方。我目前正在使用 .NET 2.0 (VS C# 2005),但如果需要可以使用 VS 2008。

如果唯一的答案是使用 P/Invoke,那么我最好还是使用 Win32 编写我的小实用程序。

4

3 回答 3

71

进程.开始。

请注意,高级用途(打印等)需要使用ProcessStartInfo并设置Verb属性。

于 2008-11-03T11:48:59.870 回答
42
System.Diagnostics.Process.Start(command)

我敢打赌你找不到它,因为它位于 System.Diagnostics 命名空间中。“诊断”?通常拥有 20 年经验的你擅长的一件事就是猜测新 API/语言中会调用什么东西,但这件事欺骗了我。

于 2008-11-03T12:13:14.813 回答
3

您是否尝试过 System.Diagnostics.Process.Start() 函数...它或多或少类似于 ShellExecute。您可以打开exes,文档。我还没有检查打印,Marc 已经告诉你如何了。

于 2008-11-03T12:15:23.267 回答