小编典典

查找用于在Windows上打开特定文件类型的默认应用程序

c#

我正在使用C#开发针对.NET Framework 2.0的应用程序,我需要能够找到用于打开特定文件类型的默认应用程序。

我知道,例如,如果您只想使用该应用程序打开文件,则可以使用以下方法:

System.Diagnostics.Process.Start( "C:\...\...\myfile.html" );

在默认浏览器中打开HTML文档,或

System.Diagnostics.Process.Start( "C:\...\...\myfile.txt" );

在默认文本编辑器中打开文本文件。

但是,我想做的是在默认的文本编辑器中打开不一定带有 .txt 扩展名的文件,因此,我需要能够找到打开的默认应用程序 。 txt
文件,这将允许我直接调用它。

我猜想有一些Win32 API需要通过P /
Invoke来完成,但是快速浏览一下Google和MSDN并没有发现什么令人感兴趣的东西。我确实找到了很多完全不相关的页面,但没有找到我想要的东西。


阅读 254

收藏
2020-05-19

共1个答案

小编典典

您可以在注册表部分下HKEY_CLASSES_ROOT查看扩展名和操作详细信息。有关此文档,请参见MSDN。或者,您可以使用IQueryAssociations接口。

2020-05-19