在资源管理器中选中文件或文件夹时右击会弹出“添加到××××.ZIP”菜单,请问用Delphi是怎样做的。最好有源码。

解决方案 »

  1.   

    关于多种环境注册右键弹出事件的方法,请
    按照以下对应关系:
    \HKEY_CLASSES_ROOT\Folder\Shell          任意文件夹
    \HKEY_CLASSES_ROOT\Directory\Shell       任意目录
    \HKEY_CLASSES_ROOT\Drive\Shell           任意驱动器
    \HKEY_CLASSES_ROOT\*\Shell               任意文件
    新建一个主键,并在主键下添加一个特定主键(command),修改command的键值指到你的应用程序。例如:
    建立\HKEY_CLASSES_ROOT\Folder\Shell\AimTest,将在Folder上按下右键时出现"AimTest"菜单
    建立\HKEY_CLASSES_ROOT\Folder\Shell\AimTest,并设定该主键的缺省值为"我的测试菜单",则将在Folder上按下右键时出现"我的测试菜单"菜单钮。
    建立\HKEY_CLASSES_ROOT\Folder\Shell\AimTest\command,并设定command"缺省"键值为"c:\tools\pse.exe" "%1",则将以Folder名为第一参数启动pse.exe。
        * 注意command键值的双引号不可缺省另外:
    \HKEY_CLASSES_ROOT\Folder\Shellex
    \HKEY_CLASSES_ROOT\Directory\Shellex
    \HKEY_CLASSES_ROOT\Drive\Shellex
    \HKEY_CLASSES_ROOT\*\Shellex
    可以按应用程序在Registroy中的注册ID调用。这样可以调用.DLL和钩子函数。
    但建议按第一种方法调用应用程序,因为注册一个ID实在麻烦。如果你的应用程序支持DDE,你可以参考
    \HKEY_CLASSES_ROOT\Directory\Shell\Find键的设定来进行DDE设置。