我正在寻找. NET首选的方式来执行与ShellExecute在Win32中所做的相同类型的事情(打开、打印任意文件类型等)。我已经在Windows编程超过20年了,但我在.NET方面完全是个新手,所以也许我只是找错了地方。我目前使用的是.NET 2.0(VS C# 2005),但如果需要的话,我可以使用VS 2008。如果唯一的答案是使用P/Invoke,那么我可能更好地使用Win32编写我的小实用程序。
fzsnzjdm1#
Process.Start.请注意,高级使用(打印等)需要使用ProcessStartInfo并设置Verb属性。
bkhjykvo2#
System.Diagnostics.Process.Start(command)
我敢打赌你很难找到它,因为它在System.Diagnostics命名空间中。“Diagnostics”?通常有20年的经验,你擅长的一件事是猜测在一个新的API/语言中将调用什么,但这个欺骗了我。
bq9c1y663#
你试过System.Diagnostics.Process.Start()吗?它或多或少类似于 * ShellExecute *。你可以打开前任,文档。我还没有检查打印,马克已经告诉你如何。
System.Diagnostics.Process.Start()
jaql4c8m4#
System.Diagnostics.Process.Start("explorer.exe", path);
2eafrhcq5#
以下是原始Win32 ShellExecute()文档:https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shellexecutea此C#代码将用于打开URL的Web浏览器选项卡:
ShellExecute()
ProcessStartInfo psi = new ProcessStartInfo(); psi.FileName = "https://www.google.com/"; psi.UseShellExecute = true; psi.WindowStyle = ProcessWindowStyle.Normal; Process.Start(psi);
5条答案
按热度按时间fzsnzjdm1#
Process.Start.
请注意,高级使用(打印等)需要使用ProcessStartInfo并设置Verb属性。
bkhjykvo2#
我敢打赌你很难找到它,因为它在System.Diagnostics命名空间中。“Diagnostics”?通常有20年的经验,你擅长的一件事是猜测在一个新的API/语言中将调用什么,但这个欺骗了我。
bq9c1y663#
你试过
System.Diagnostics.Process.Start()
吗?它或多或少类似于 * ShellExecute *。你可以打开前任,文档。我还没有检查打印,马克已经告诉你如何。
jaql4c8m4#
2eafrhcq5#
以下是原始Win32
ShellExecute()
文档:https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shellexecutea此C#代码将用于打开URL的Web浏览器选项卡: