在 Windows 资源管理器中右键单击
我一直在尝试在 Windows 资源管理器中为扩展名为 L5X 的文件添加基于上下文的右键单击。我已尝试 HKEY_CLASSES_ROOT\l5xfile\Shell\convert\command 并将(默认)键值设置为我想要打开文件的程序。 (我希望它在上下文菜单上显示“转换”)我的第一个问题似乎是在 .NET 中(即使在提升运行时)我无法更改默认键的值。我的另一个问题是更改默认键值不会对上下文菜单执行任何操作。我真的更喜欢不需要重新启动的解决方案。
另外,我真的需要它在 WinXP 一直到 Win7(包括 Server 2003、2008 和 2008R2)上工作。如果我需要检测操作系统并为不同的操作系统做不同的事情,我会的,但我真的被困在这里。
PS,我尝试了找到的解决方案 这里但运气不佳。
I have been trying to add context based right click in windows explorer for a file of extension L5X. I have tried HKEY_CLASSES_ROOT\l5xfile\Shell\convert\command and set the (Default) key value to the program I want to have open the file. (I want it to say "Convert" on the context menu) My first issue seems to be that in .NET (even when running elevated) I cannot change the Default key's value. My other issue is changing that Default key value doesn't do anything to the context menu. I would really prefer a no reboot required solution.
Also, I really need this to work on WinXP all the way up to Win7 (including Server 2003, 2008 and 2008R2). If I need to detect OS and do things differently for different OSes, I will but I'm really stuck here.
PS, I tried the solution found here with no luck.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要管理员权限才能写入 HKEY_CLASSES_ROOT,HKEY_CLASSES_ROOT 是 HKEY_LOCAL_MACHINE\SOFTWARE\Classes 和 HKEY_CURRENT_USER\Software\Classes 的合并视图。如果您只想为当前用户安装它,请写入 HKEY_CURRENT_USER\Software\Classes
\l5xfile\Shell\convert\command 可能不是正确的路径,当 Windows 查找文件类型的上下文菜单条目时,它首先查找 < code>HKEY_CLASSES_ROOT\.EXT,然后使用它在其中找到的默认值:
HKEY_CLASSES_ROOT\%defaultvaluefrom.EXT%\Shell\*
XP 添加了一个新键 HKEY_CLASSES_ROOT\SystemFileAssociations 专为您不需要的非主要操作而设计关心 ProgId/Class(l5xfile 部分)
MSDN 记录了所有这些注册表路径和设置,请参阅:文件类型 和 动词和文件关联
You need administrator rights to write to HKEY_CLASSES_ROOT, HKEY_CLASSES_ROOT is a merged view of HKEY_LOCAL_MACHINE\SOFTWARE\Classes and HKEY_CURRENT_USER\Software\Classes. If you want to install it for just the current user, write to HKEY_CURRENT_USER\Software\Classes
\l5xfile\Shell\convert\command might not be the correct path, when windows looks for context menu entries for a filetype, it first looks in
HKEY_CLASSES_ROOT\.EXT
, then uses the default value it finds there:HKEY_CLASSES_ROOT\%defaultvaluefrom.EXT%\Shell\*
XP added a new key HKEY_CLASSES_ROOT\SystemFileAssociations designed for non-primary actions where you don't care about the ProgId/Class (The l5xfile part)
MSDN documents all these registry paths and settings, see: File Types and Verbs and File Associations