📄 如何用vb在资源管理器的快捷菜单上添加自己的选项.txt
字号:
对于简单的菜单应用实际并不需要编程,只需要修改注册表就可以实现。比如安装了PowerToy后,它会在你选择一个目录时增加一项Command Prompt Here,实际上只是在HKEY_CLASSES_ROOT\Directory\shell\DosHere\command下增加了一行:
C:\WIN95\command.com /k cd "%1"
这样Windows会把选择的文件或目录以命令行参数的形式传递给你的程序。参考QA000595 “如何在VB中加入命令行参数”。
不过如果你想制作复杂的应用就需要进行Shell Extension编程,具体地说是IContextMenu外壳扩展。你需要建立一个ActiveX DLL,在这个DLL中要实现IContextMenu(或IContextMenu2,两者的区别在于IContextMenu2允许菜单上包括图形)接口。实现了这个接口,你还需要修改相应的注册表项。这样,当用户选择一个文件后,系统会调用你的DLL,询问你是否支持该文件。如果支持,你就利用系统传递给你的菜单句柄,在这个菜单上加一个菜单项。如果用户选择了你的菜单项,系统会再次通知你,你就开始执行对该文件的操作。
在Delphi和VC++中也有类似的示例程序。Delphi的例子在Borland\Delphi4\Demos\Activex\Shellext目录。
<END>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -