加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – 打开文件就好像它是一个文本文件(即使它的扩展名不是

发布时间:2020-12-14 05:31:27 所属栏目:Windows 来源:网络整理
导读:我正在尝试打开与’txt’文件相关联的编辑器 – 虽然这很简单,我的文件实际上没有txt扩展名,所以我不能只是 ShellExecute它,我必须手动找到相关的程序. 为此,我一直在尝试使用Shell的 IApplicationAssociationRegistration::QueryCurrentDefault COM方法,但
我正在尝试打开与’txt’文件相关联的编辑器 – 虽然这很简单,我的文件实际上没有txt扩展名,所以我不能只是 ShellExecute它,我必须手动找到相关的程序.

为此,我一直在尝试使用Shell的IApplicationAssociationRegistration::QueryCurrentDefault COM方法,但它返回一个ProgId,这对我来说不是没用.如何将其映射到EXE?我正在使用C#,但似乎并不相关.

编辑:下面链接的方法,您直接访问注册表不再适用于所有情况.正确的方法是上面的,但我需要下一步 – 如何获取返回的ProgId并获取相关的程序?

解决方法

要执行一个文件,就好像它是另一种类型的文件,call ShellExecute and set the the lpClass member of the SHELLEXECUTEINFO structure to the progid you wish the file were.

以这种方式执行它很重要,因为文本文件的默认处理程序不一定是带有命令行的程序.它可能是a DDE server或drop target或a context menu handler或delegated execution handler.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读