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

前端之家收集整理的这篇文章主要介绍了windows – 打开文件就好像它是一个文本文件(即使它的扩展名不是.txt)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试打开与’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 serverdrop targeta context menu handlerdelegated execution handler.

猜你在找的Windows相关文章