【发布时间】:2012-02-25 16:09:04
【问题描述】:
我正在尝试打开与 'txt' 文件关联的编辑器 - 但问题是,我的文件实际上没有 txt 扩展名,所以我不能只 @ 987654324@吧,我得手动找相关的程序。
为此,我一直在尝试使用 Shell 中的 IApplicationAssociationRegistration::QueryCurrentDefault COM 方法,但它返回了一个 ProgId,这对我来说几乎没有用处。如何将其映射到 EXE?我正在使用 C#,但它似乎不相关。
编辑:下面链接的直接访问注册表的方法不再适用于所有情况。上面是正确的方法,但是我需要下一步——如何取返回的ProgId并获取关联的程序?
【问题讨论】:
-
很好的发现,但从 >= Vista 开始,这些答案不正确 - 我之前尝试过这种方法,但它不起作用;根据您设置关联的方式,这将返回不正确的结果
-
这是一种低效的方法。选择文件扩展名的唯一原因是它的关联。选择.txt,问题解决了。
-
我无法选择文件的扩展名,它是由我无法控制的另一个应用程序生成的
-
我最终解决了这个问题,但必须有一个正确的答案。我不敢相信 2012 年,正确的答案是在注册表中四处寻找,那是没有办法的生活。