我正在C++中使用基于控制台的Windows文件浏览器,并且难以将上下文菜单放在一起,该菜单列出与文件关联的操作并在其上调用命令。现在最大的问题是获取与文件类型相关的操作。使用Windows API获取文件关联
我知道打开和调整HKEY_CLASSES_ROOT中的注册表项的过程,但我找不到实际获取操作及其命令的方法,因此我可以从中创建上下文菜单。
在注册表这些关联的一般结构是:
HKEY_CLASSES_ROOT \(延伸)\(缺省) - 对文件类型
HKEY_CLASSES_ROOT \文件类型\(缺省) - 文件类型
HKEY_CLASSES_ROOT \的描述文件类型\壳\动作\(缺省) - 动作
HKEY_CLASSES_ROOT \文件类型\壳\动作\命令\(默认值)的说明 - 命令调用上文件
我想知道是否有一种方法(希望使用Windows API),我可以获取与文件类型相关的所有操作。至少我可以检查他们的注册表中的命令的这些行动...
此外,这种方法似乎不适用于我的系统上的一些常见的文件类型(例如mp3),因为默认密钥保留空白和另一个键(“PercievedType”)设置为音频...我怎样才能得到这样的动作?
最后,如果有更好的方法来做到这一点,我一般很想听到它,我通常讨厌处理注册表。我宁愿有一个简单的Windows调用,将让我的动作和命令......
谢谢!这正是我希望能做到的!这篇文章帮助了很多! – 2010-08-24 16:50:41