小编Nic*_*win的帖子

使用Windows API获取文件关联

我正在使用基于控制台的Windows C++文件浏览器,并且很难将一个上下文菜单放在一起,该菜单列出了与文件相关的操作并调用了命令.现在最大的问题是将操作与文件类型联系起来.

我知道在HKEY_CLASSES_ROOT中打开和调整注册表项的过程,但我找不到实际获取操作及其命令的方法,因此我可以构建一个上下文菜单.

注册表中这些关联的一般结构是:

HKEY_CLASSES_ROOT \(扩展名)\(默认) - 文件类型
HKEY_CLASSES_ROOT\filetype \(默认) - 文件类型描述
HKEY_CLASSES_ROOT\filetype\shell\action \(默认) - 操作描述
HKEY_CLASSES_ROOT\filetype\shell\action\command \( default) - 在文件上调用的命令

我想知道是否有办法(希望使用Windows API)我可以获得与文件类型相关的所有操作.至少那时我可以在注册表中检查这些操作的命令...

此外,这种方法似乎不适用于我的系统上的一些常见文件类型(例如mp3),因为默认键是空白而另一个键("PercievedType")设置为音频...我怎样才能获得操作对于这样的事情?

最后,如果有更好的方法来做到这一点,我很乐意听到它,我通常讨厌处理注册表.我宁愿有一个简单的Windows调用,它会让我获得动作和命令......

c++ windows registry file-type file-association

3
推荐指数
1
解决办法
4688
查看次数

标签 统计

c++ ×1

file-association ×1

file-type ×1

registry ×1

windows ×1