语境
对于给定的文件扩展名,我需要找出文件关联的 ProgID(?)(例如.docx的Word.Document)。我需要他 (a) 识别特定的关联软件(例如Adob e与Nuance)并在他们打开文档之前进行相应处理,以及 (b) 使 Outlook 显示虚拟文件的正确图标(消息类)。IPM.Document.[ProgID]
目前的解决方案
我只是在以下位置读出(Default)
注册表项的条目HKEY_CURRENT_ROOT\[extension]
问题
在某些机器上,对于某些文件类型,(Default)
HKCR 中的条目是空的。但是,Windows 资源管理器(shell)显示相应的图标,并且在打开文件时肯定有一个工作文件关联。
显然,我没有使用正确的方法来检索文件关联。是否有我遗漏的ASSOCSTR可以传递给将返回此信息的AssocQueryString,或者我忽略的 MSDN 上有关文件关联的任何其他调用或标准文档?