2012-02-03 62 views
3

我试图打开与“TXT”文件关联的编辑器 - 这里有个致命的,虽然,我的文件实际上并不txt扩展,所以我不能只是ShellExecute它,我一定要找到手动关联的程序。打开文件,好像它是一个文本文件(即使它的扩展名是不是.TXT)

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

编辑:下面链接到您直接访问注册表的方法不再适用于所有情况。正确的方法是上面,但我需要下一步 - 我怎么拿回来ProgId和获取相关的计划?

+1

可能重复:http://stackoverflow.com/q/162331/1048330 – tenorsax 2012-02-03 00:12:55

+0

好找,但这些答案是不正确的,> = Vista的 - 我试过这个方法之前,但它不工作;这取决于你如何设置的关联,这将返回不正确的结果 – 2012-02-03 00:17:51

+1

这就是去了解它的非生产性方式。选择文件扩展名的唯一原因是它的关联。选择.txt,问题解决了。 – 2012-02-03 00:52:28

回答

-3

可悲的是,是的,你将不得不使用注册表。这是怎样的registration works,它是如何被记录在Windows中。链接解释了所有你能想到,如何在底部进入exe文件路径,并链接到你的界面,以及翻译不同的条目。

相关问题