程序中启动超级旋风下载的奇怪问题

MapleInHG 2008-01-27 05:47:13
可能大家都知道,QQ的下载工具超级旋风和网际快车和迅雷一些都提供了IE右键启动下载的功能。如果我们要在自己的程序中启动这些工具进行下载,可以参照它们的网页启动脚本启动下载即可。网际快车和迅雷都没有问题,但在添加下载任务到超级旋风时死活只能启动超级旋风,任务就是添加不进去。昨后实在没有办法,使用了最挫的方法,直接在程序里面通过IE的WEB控件调用其添加下载任务的脚本,奇怪的是同样只能启动界面,不能添加任务。但这个脚本用IE及其它基于IE内核的浏览器都能启动超级旋风并添加任务,而且我用另外一个网上下载的带有WEB控件的程序同样可以,而我自己建了一个最简单的基于CHtmlView的单文档视图的工程仍然不能启动。所以我怀疑某个地方,有某个开关没有打开?大家帮我分析分析吧,谢谢了。
附件分别为启动超级旋风的脚本和两个工程,一个是网上下载的(本意是可以执行网页脚本的),一个是我建的简单的htmlview工程,它们一个可以正常启动超级旋风,一个不行。
...全文
193 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
MapleInHG 2008-01-29
  • 打赏
  • 举报
回复
我想我已经找到问题所在了,为了各位不要冥思苦想,我把我发现的先贴上来,明天再接着研究:)
如果WEB控件先加载了一个页面,则加载此脚本就可以添加成功,我想大概是某个DLL被加载进来后就可以了,具体明天再研究了。
MapleInHG 2008-01-28
  • 打赏
  • 举报
回复
再次感谢jameshooo的回答:)
我还是不明白,超级旋风也实现了脚本调用的啊,下面这个脚本是经我改造过的:
<script language="javascript">


function AddLink(Url,Info,Location, strCookie, CID)
{
alert("haha");
if (Url != "")
{
var QQRightClick = new ActiveXObject("QQIEHelper.QQRightClick.2");
QQRightClick.sendUrl2(Url, Location, Info, strCookie, 0, CID)
}
}

AddLink("http://www.baidu.com/index.htm", "haha", "http://www.qq.com/", 0);

</script>


双击就可以添加任务到超级旋风的,而且这个脚本在附件中的一个基于HtmlView的程序中可以正常添加,而在我自己的生成的一个基于HtmlView中简单程序中就不可以,只能实现把超级旋风调出来,不能添加任务。

实际上我的最终软件中不是一个基于浏览器的应用,所以不需要下载工具的BHO监控下载,只是想主动添加下载任务。我直接导入了超级旋风的QQIEHelper02.dll中的QQRightClick接口,用上面JS代码中的调用方法同样调用,也只能启动超级旋风界面,不能添加任务(前面的“haha”的alert都是可以出来的)。想来想去应该是某个环境没有启用的缘故,但就是没找到。而对于其它的下载工具诸如网际快车、迅雷、影音传送带都是可以添加成功的。
jameshooo 2008-01-28
  • 打赏
  • 举报
回复
不是让你自己实现BHO,而是让你加载已有的BHO。三个下载工具都实现了BHO,但是另外两个同时也实现了脚本调用,超级旋风未实现这个特性。我的意思是在你的浏览器里用代码来加载这些BHO,然后让这个BHO自己来监控网页事件实现下载。
MapleInHG 2008-01-27
  • 打赏
  • 举报
回复
多谢jameshooo回答
其实我的目标就是添加任务到超级旋风,而且这个只是辅助功能,再做个BHO也太浪费了吧,呵呵
我实在是看不出来附件两个工程有什么不同之外,其中一个可以添加,一个就不行
jameshooo 2008-01-27
  • 打赏
  • 举报
回复
自己实现BHO加载

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧