为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

呼啦一阵风 2019-09-02 15:25:34
我正在使用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才能做到这一点,但是对谷歌和MSDN的快速浏览并没有发现任何有趣的东西; 我确实找到了大量完全不相关的页面,但没有像我在寻找的那样。
查看完整描述

3 回答

?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

您可以在注册表部分中HKEY_CLASSES_ROOT查看扩展和操作详细信息。有关此文档的文档位于MSDN上。或者,您可以使用IQueryAssociations接口。


查看完整回答
反对 回复 2019-09-02
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

您只需查询注册表即可。首先获取HKEY_CLASSES_ROOT \ .ext下的Default条目


那会给你一个类名。例如.txt的默认值为txtfile


然后打开HKEY_CLASSES_ROOT \ txtfile \ Shell \ Open \ Command


这将为您提供使用的默认命令。


查看完整回答
反对 回复 2019-09-02
  • 3 回答
  • 0 关注
  • 584 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信