仿迅雷,ie中右键单击下载 vc实现方法

本文介绍如何通过修改注册表及使用VBScript和VC代码,实现在IE浏览器中添加自定义下载选项的方法。通过简单的步骤即可使IE浏览器的右键菜单增加调用特定下载工具的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

打开注册表:HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/MenuExt

添加“DownLoader.exe”项,在默认中填入 " E:/GetUrl.htm"

以上可以用VC代码实现,不再赘述。

其中 E:/GetUrl.htm 里的内容如下:

< script  language ="VBScript" >  

Sub  AddLink(Url,Info,Location)  
    
On   Error   Resume   Next  

    
if  Url  <>   ""   then  
    
if  Info  =   ""   then  
        Info 
=   " unknown "  
    
end   if  
    
if   Len (Info)  >   1000   then  
            Info 
=   Left (Info,  1000
        
end   if  

        DownloadInfo 
=   Url  +   " ^ "   +  Location 
        
set  shell  =   CreateObject ( " Wscript.Shell "
         
        shell.Run 
" F:codingTestingVCDownLoader.exe  "   +  DownloadInfo 

    
end   if  
end sub  

Sub  OnContextMenu() 

    
set  srcEvent  =  external.menuArguments.event 
    
set  srcLocation  =  external.menuArguments.location 
    
set  EventElement  =  external.menuArguments.document.elementFromPoint ( srcEvent.clientX, srcEvent.clientY ) 
    
if  srcEvent.type  =   " MenuExtAnchor "   then   
        
set  srcAnchor  =  EventElement 
        
do  until  TypeName (srcAnchor) = " HTMLAnchorElement "  
            
set  srcAnchor = srcAnchor.parentElement 
        
Loop  
        
Call  AddLink(srcAnchor.href,srcAnchor.innerText,srcLocation) 
    
elseif  srcEvent.type = " MenuExtImage "   then  
        
if   TypeName (EventElement) = " HTMLAreaElement "   then  
            
Call  AddLink(EventElement.href,EventElement.Alt,srcLocation) 
        
else   
            
set  srcImage  =  EventElement 
            
set  srcAnchor  =  srcImage.parentElement 
            
do  until  TypeName (srcAnchor) = " HTMLAnchorElement "  
                
set  srcAnchor = srcAnchor.parentElement 
                
if   TypeName (srcAnchor) = " Nothing "   then   
                    
call  AddLink(srcImage.href,srcImage.Alt,srcLocation) 
                    
exit   sub  
                
end   if  
            
Loop  
            
Call  AddLink(srcAnchor.href,srcImage.Alt,srcLocation) 
        
end   if  
    
elseif  srcEvent.type = " MenuExtUnknown "   then  
        
set  srcAnchor  =  EventElement 
        
do  until  TypeName (srcAnchor) = " HTMLAnchorElement "  
            
set  srcAnchor = srcAnchor.parentElement 
            
if   TypeName (srcAnchor) = " Nothing "   then   
                
Call  AddLink(EventElement.href,EventElement.innerText,srcLocation) 
                
exit   sub  
            
end   if  
        
Loop  
        
Call  AddLink(srcAnchor.href,srcAnchor.innerText,srcLocation) 
    
elseif   1 = 1   then  
        
MsgBox ( " Unknown Event Source "" "   +  srcEvent.type  +   " "" "   +  vbCrLf  +   " Please send description of error to yourEmail@ "
    
end   if  
end sub  

call  OnContextMenu() 

</ script >

最重要的是这几句:

 DownloadInfo =  Url + "^" + Location
set shell = CreateObject("Wscript.Shell")
        
shell.Run "F:/coding/Testing/VC/DownLoader.exe " + DownloadInfo

其中DownloadInfo是一个字符串,作为DownLoader.exe 运行参数。包括下载地址和引用地址(还可以添加其他信息)。它们是以“^”做分割符。

可以在DownLoader.exe 中用以下方式取出参数。

 

//以^切割字符串strUrl获取分割字符的头部
CString getSplitHeader(CString strUrl)
{
 return  strUrl.Right(strUrl.GetLength()-strUrl.ReverseFind('^')-1);
}

//以^切割字符串strUrl获取分割字符的尾部
CString getSplitFooter(CString strUrl)
{
 return  strUrl.Left(strUrl.ReverseFind('^'));
}


ok。重启你的IE.

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值