我在为“.prt”文件开发右键上下文菜单时遇到了一点问题。我按照建议做了所有事情,但结果却非常奇怪——菜单没有出现。如果我处理不同的文件扩展名,一切都会顺利,菜单会出现,但菜单*.prt
不起作用。*.prt 文件有什么特别之处?有 reg-file:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\prt_auto_file]
@=""
[HKEY_CURRENT_USER\Software\Classes\prt_auto_file\shell]
[HKEY_CURRENT_USER\Software\Classes\prt_auto_file\shell\Convertto]
@="Convert to"
[HKEY_CURRENT_USER\Software\Classes\prt_auto_file\shell\Convertto\command]
@=...
[HKEY_CURRENT_USER\Software\Classes\prt_auto_file\shell\open]
[HKEY_CURRENT_USER\Software\Classes\prt_auto_file\shell\open\command]
@=...
答案1
您应该HKEY_CLASSES_ROOT
全局使用,而不是使用HKEY_CURRENT_USER
仅限于当前用户的。而且您似乎忘记.prt
在定义的处理程序中包含扩展:
[HKEY_CLASSES_ROOT\.prt]
@="prt_auto_file"
尝试使用如下新代码:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.prt]
@="prt_auto_file"
[HKEY_CLASSES_ROOT\prt_auto_file]
@=""
[HKEY_CLASSES_ROOT\prt_auto_file\shell]
@="open"
[HKEY_CLASSES_ROOT\prt_auto_file\shell\Convertto]
[HKEY_CLASSES_ROOT\prt_auto_file\shell\Convertto\command]
@="address\\to\\convertor\\application.exe"
[HKEY_CLASSES_ROOT\prt_auto_file\shell\open]
[HKEY_CLASSES_ROOT\prt_auto_file\shell\open\command]
@="address\\to\\default\\application.exe"