如何使用特定(非默认)类打开文件/协议

本文关键字:文件 协议 默认 何使用 | 更新日期: 2023-09-27 18:31:28

StackOverflow上有几个问题,比如"如何在C#中使用ShellExecute/ShellExecuteEx?",答案几乎是:"Use System.Diagnostics.Process"。 但是,我想做的是使用默认处理程序打开文件或 URL。

我可以使用 ShellExecuteEx 通过传入类名并设置 SEE_MASK_CLASSNAME 标志来完成此操作,并且我使用 DllImport 可以做到这一点。

我想知道的是:有没有办法在 C# 中执行此操作而无需从 DLL 导入? 有没有办法将这种信息传递给 Process,或者我让它工作的方式是否是"正确"的方式?

如何使用特定(非默认)类打开文件/协议

在 .NET 中没有等效的方法。您的处理方式(使用ShellExecuteEx)是正确的。