.NET中的ShellExecute等效项

mrwjdhj3  于 2023-02-10  发布在  .NET
关注(0)|答案(5)|浏览(123)

我正在寻找. NET首选的方式来执行与ShellExecute在Win32中所做的相同类型的事情(打开、打印任意文件类型等)。
我已经在Windows编程超过20年了,但我在.NET方面完全是个新手,所以也许我只是找错了地方。我目前使用的是.NET 2.0(VS C# 2005),但如果需要的话,我可以使用VS 2008。
如果唯一的答案是使用P/Invoke,那么我可能更好地使用Win32编写我的小实用程序。

fzsnzjdm

fzsnzjdm1#

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

bkhjykvo

bkhjykvo2#

System.Diagnostics.Process.Start(command)

我敢打赌你很难找到它,因为它在System.Diagnostics命名空间中。“Diagnostics”?通常有20年的经验,你擅长的一件事是猜测在一个新的API/语言中将调用什么,但这个欺骗了我。

bq9c1y66

bq9c1y663#

你试过System.Diagnostics.Process.Start()吗?
它或多或少类似于 * ShellExecute *。你可以打开前任,文档。我还没有检查打印,马克已经告诉你如何。

jaql4c8m

jaql4c8m4#

System.Diagnostics.Process.Start("explorer.exe", path);
2eafrhcq

2eafrhcq5#

以下是原始Win32 ShellExecute()文档:https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shellexecutea
此C#代码将用于打开URL的Web浏览器选项卡:

ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "https://www.google.com/";
psi.UseShellExecute = true;
psi.WindowStyle = ProcessWindowStyle.Normal;
Process.Start(psi);

相关问题