首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

怎么添加菜单并响应事件

2012-09-24 
如何添加菜单并响应事件在vb中如何给一个外部程序添加一个自己的菜单并响应事件?例如:vb程序中调用了记事

如何添加菜单并响应事件
在vb中如何给一个外部程序添加一个自己的菜单并响应事件?

例如:vb程序中调用了记事本,在记事本的菜单栏中添加一个一级菜单,例如“我的菜单”,点击后也能响应当前vb中程序定义的一个事件。

[解决办法]
对于标准的windows菜单,可以

VB code
Private Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As LongPrivate Declare Function AppendMenu Lib "user32" Alias "AppendMenuA" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpNewItem As Any) As LongPrivate Const MF_STRING = &H0&Private Sub Command1_Click()Dim hM As LonghM = GetMenu(记事本的窗口句柄)AppendMenu hM, MF_STRING, 123, "我的菜单"End Sub
[解决办法]
跨进程子类化,这个课题老外研究得比咱们早多了,而且已经都是不玩的了.....

看看这个:



http://allapi.mentalis.org/vbexamples/vbexample.php?vbexample=ADDMENU&category=MISC

这个就是与楼主的需求一模一样,添加菜单到其它进程,然后可以响应菜单事件,当时的一些流氓软件就是这样干的,中招后记事本啊资源管理器啊,都有一个新添加的菜单...

我04还是05年也有类似的需求,一番搜索才得出的.

记得这套DLL是那老外01年还是02年就已经完成的,咱们国内在这些方面确实还差一些,比不过啊.....

热点排行