仿迅雷,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、付费专栏及课程。

余额充值