【高分请教】如何把程序加入IE的右键菜单,并把当前网页地址传给程序?(300分)

  • 主题发起人 主题发起人 chrong
  • 开始时间 开始时间
C

chrong

Unregistered / Unconfirmed
GUEST, unregistred user!
请教:
如何把程序加入IE的右键菜单,就像netant的download by netant一样?
然后如何在click时把当前网页的地址传递给程序?
程序应该怎样启动并获得这个地址?
 
新建了一个Active Library工程。然后将工程文件保存为IEContextMenu.dpr 。
再新建,选择窗口中的ActiveX标签中的Automation Object然后在
Automation Object Wizard 窗口中的CoClass Name栏中输入IEMenu.
然后在弹出的Type Library窗口中IIEMenu接口中新建一个getURL方法:
选择Type Library列表中的IIEMenu项,然后点击Type Library
窗口上面的 New Method 按钮添加一个方法,将该方法的Name属性改为GetURL。
然后再点击Parameters标签转到参数设定页,添加参数:URL,属性为BSTR,
然后点Type Library窗口上面的Refresh。这时在Unit1中就会出现TIEMenu.getURL子程
procedure TIEMenu.getURL(const url: WideString);
begin
showmessage(url);
end;
同时在Unit1的Uses中加入Dialogs。编译后生成IEContextMenu.dll。
用Regsvr32.exe注册这个dll。
然后用记事本编写一个调用这个dll的Vbscript.
<script language="VBScript">

Set objNetSamp=CreateObject("IEContextMenu.IEMenu")
userURL=external.menuArguments.location.href
Call objNetSamp.getUrl(userURL)

</script>
保存为Geturl.htm.
最后编辑注册表,在HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/MenuExt/
下新建项目GetUrl,键值为geturl.htm所在的完整路径。
将IE重新打开就会多出一项Geturl,点击它可取到当前的url
 
ruguo zhishi ie dehua
zhiyao xiangshangwen zheyangjiu keyile
ruguoshi biedehua yinggai qu kankan winapi laijiejue
 
谢谢两位,我来试试,^_^
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部