delphi IE 右键菜单
时间:2011-08-25
来源:互联网
如何创建一个IE右键菜单
就像迅雷的IE右键下载
要求:
创建一个IE右键菜单,当点击的时候 可以获取到当前页面的源代码
然后把网页的源代码 传给软件
就像迅雷的IE右键下载
要求:
创建一个IE右键菜单,当点击的时候 可以获取到当前页面的源代码
然后把网页的源代码 传给软件
作者: liyuxin88 发布时间: 2011-08-25
本站有这问题的讨论:
http://topic.csdn.net/t/20001224/19/51722.html
陈省在深度探索提高过这方面的代码实现:
http://delphi.sharpplus.com/Delphi/ie_menu.htm
如果看完这两个连接,都弄不来的话,那么,在这三言两语就更说不来的了。
http://topic.csdn.net/t/20001224/19/51722.html
陈省在深度探索提高过这方面的代码实现:
http://delphi.sharpplus.com/Delphi/ie_menu.htm
如果看完这两个连接,都弄不来的话,那么,在这三言两语就更说不来的了。
作者: gzzai 发布时间: 2011-08-25
这个有难度。我以前写过。你这点分不足以我给你贴全部代码。这里我只说下思路和贴出部分代码:
第一步:编写DLL文件,该DLL文件与网页中的脚本实现通讯,并把取到的网址发给EXE主程序。这一步是程序的核心和关键。
第二步:编写接受消息的EXE窗体,并在该窗体中实现写与删注册表的功能。该EXE必须能接受到DLL发过来的消息(网址源码字符串)。此步的写注册表功能主要决定IE右键是否显示。
第三步:编写网页脚本(即.htm文件)。可以是可以采用VBScrip脚本。实现向DLL传参。
得到当前网页的原理是:脚本获取到数据→传给DLL媒介→接受DLL传来消息的EXE
没有DLL做中间传递,右键能加到菜单中但不具有调用功能,这样就毫无意义的一个菜单。加右键简单,关键是调用。通过DLL来实现网页鼠标右键是唯一的办法。
加右键的要求:
必须保证htm文件存在,因为调用就是由脚本起源。
必须保证注册DLL,否则脚本因找不到对象而创建失败。
建立ID右键菜单:
Var Reg:TRegistry;
begin
Reg:=TRegistry.Create;
Try
Reg.RootKey:=HKEY_CURRENT_USER;
if Reg.OpenKey('Software\Microsoft\Internet Explorer\MenuExt',True) then
begin
Reg.WriteString('获取源码(&Q)','');
if Reg.OpenKey('获取源码(&Q)',True) then
begin
Reg.WriteString('',ExtractFilePath(ParamStr(0))+'IERight.htm');
Reg.WriteInteger('Contexts',$f3);
end;
end;
Finally
Reg.CloseKey;
Reg.Free;
end;
'IERight.htm'内的脚本就是一个获取源码的写法,你自己研究吧。
注册DLL时执行命令:regsvr32 /s IEContextMenu.dll
第一步:编写DLL文件,该DLL文件与网页中的脚本实现通讯,并把取到的网址发给EXE主程序。这一步是程序的核心和关键。
第二步:编写接受消息的EXE窗体,并在该窗体中实现写与删注册表的功能。该EXE必须能接受到DLL发过来的消息(网址源码字符串)。此步的写注册表功能主要决定IE右键是否显示。
第三步:编写网页脚本(即.htm文件)。可以是可以采用VBScrip脚本。实现向DLL传参。
得到当前网页的原理是:脚本获取到数据→传给DLL媒介→接受DLL传来消息的EXE
没有DLL做中间传递,右键能加到菜单中但不具有调用功能,这样就毫无意义的一个菜单。加右键简单,关键是调用。通过DLL来实现网页鼠标右键是唯一的办法。
加右键的要求:
必须保证htm文件存在,因为调用就是由脚本起源。
必须保证注册DLL,否则脚本因找不到对象而创建失败。
建立ID右键菜单:
Var Reg:TRegistry;
begin
Reg:=TRegistry.Create;
Try
Reg.RootKey:=HKEY_CURRENT_USER;
if Reg.OpenKey('Software\Microsoft\Internet Explorer\MenuExt',True) then
begin
Reg.WriteString('获取源码(&Q)','');
if Reg.OpenKey('获取源码(&Q)',True) then
begin
Reg.WriteString('',ExtractFilePath(ParamStr(0))+'IERight.htm');
Reg.WriteInteger('Contexts',$f3);
end;
end;
Finally
Reg.CloseKey;
Reg.Free;
end;
'IERight.htm'内的脚本就是一个获取源码的写法,你自己研究吧。
注册DLL时执行命令:regsvr32 /s IEContextMenu.dll
作者: mwy654321 发布时间: 2011-08-25
楼上的可以拆成几部分来学习
其实也就是那么回事。
全部弄到一起就有点难度了
其实也就是那么回事。
全部弄到一起就有点难度了
作者: xiaofansong 发布时间: 2011-08-25
来关注下
作者: iqyely 发布时间: 2011-08-25
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28