实现网络蚂蚁在IE中右键菜单的“用xxxxxx下载”功能

王朝other·作者佚名  2006-01-08
宽屏版  字体: |||超大  

实现网络蚂蚁在IE中右键菜单的“用xxxxxx下载”功能

[ 作者: 111222 添加时间: 2001-9-5 11:44:23 ]

废话少说,打开VC++,创建新ATL的DLL工程,工程名CatchTxt

看见向导后直接点finish,接下来给CatchTxt填加一个接口: New ATL Object

接口名且为 Catch,再接下来给这个Catch接口填加一个方法:方法名为AddTxt 参数BSTR bstr

OK了,通过script打开Catch接口然后调用AddTxt方法就实现了。

我们这里以测试为目的让AddTxt弹出个对话框表示成功。

STDMETHODIMP CCatcht::AddTxt(BSTR bstr)

{

USES_CONVERSION;

char *str=OLE2A(bstr);

MessageBox(NULL,str,"from ie",MB_OK); // <<---

return S_OK;

}

下面编写所需的HTM

<SCRIPT LANGUAGE="JavaScript">

var parentwin = external.menuArguments.parentwin.document.documentElement.innerText;

var wsh = new ActiveXObject("CatchTxt.Catch");

if(wsh)

wsh.AddTxt(str);

</SCRIPT>

上面文件保存为GetTxt.htm,其功能就是获取网页里的正文。正文将作为AddTxt方法的参数传递到上面的CatchTxt.DLL里面。

OK~~动态连接库有了,脚本文件有了,还差什么呢?

恩~~~~~修改IE的右键菜单。

创建下面主键:

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\获取网页正文

将其默认值改为GetTxt.htm的路径,我的是d:\GetTxt.htm。你的呢?不会跟我一样把~~~

------------------------------

全部完毕了,实现起来就这么简单....呵呵,

但要想良好的实现可不是很容易....

有一点指出的是,用JS做HTM的时候要保证wshom.ocx被注册。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有