怎样才能将自己的菜单项加到WINDOWNS系统右键菜单中去?(200分)

  • 主题发起人 主题发起人 nirvana
  • 开始时间 开始时间
N

nirvana

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样才能将自己的菜单项加到WINDOWNS系统右
键菜单中去?就象WINZIP7的“ADD TO ZIP”,
我估计要用到OLE2,可否推荐一些好的OLE2的
参考书!
 
/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


/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设置。
不知这样能否满足你的要求。请告知。
 
好像有个函数叫 insertmenuitem 可以做的,
可惜delphi中无此函数的帮助,我一时也找不到
原来的资料了
 
to see delphi4/demos/activex/shellext/contextm.pas
 
呵呵, 完全不需要OLE, 用REG函数就可以. 其实其他的控/构件/程序都是这么
干的.
 
这才是根本解决之道
 
请看这里:<a href=DispQ.asp?LID=20>如何在Win95弹出菜单中加入自己的内容和功能调用?</a>
 
完全同意delphiwolf
 
同意TearGirl的意见。
Delphi的Demo里有许多有用的东西,那可是一笔宝贵的资源!
 
这个问题在本论坛上已提问了太多的次数,用“右键菜单”作为关键词搜索以下,你
会得到很多答案。
 
用不到OLE2的,用的是com,delphi自带有例子:
delphi4/demos/activex/shellext/contmenu.pas
仔细研究研究吧。编译后生成一个dll文件,在注册表中注册一下就行。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
749
import
I
后退
顶部