VC语言

本类阅读TOP10

·VC++ 学习笔记(二)
·用Visual C++打造IE浏览器(1)
·每个开发人员现在应该下载的十种必备工具
·教你用VC6做QQ对对碰外挂程序
·Netmsg 局域网聊天程序
·Windows消息大全
·VC++下使用ADO编写数据库程序
·VC++学习笔记(四)
·非法探取密码的原理及其防范
·怎样在VC++中访问、修改注册表

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
实现网络蚂蚁、JETCAR等软件之IE右键菜单的“用xxxxxx下载”

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

 

 

网络蚂蚁、JETCAR等软件之IE右键菜单的“用XXXX下载”的实现。


废话少说,打开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 str = 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。你的呢?不会跟我一样把~~~


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

全部完毕了,实现起来就这么简单....呵呵,
但要想良好的实现可不是很容易....
有一点指出的是,要保证wshom.ocx被注册,否则vbs和js将都不被执行。




相关文章

相关软件