新建了一个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