如何实现在IE浏览器右键点击启动程序,并次链结地址载入程序,就像“网际快车”安装在浏览网页时
右键将有“使用网际快车下载”的这样的程序。
请大侠帮忙。谢谢

解决方案 »

  1.   

    使用脚本语言和IE右键菜单我们可以使用注册表来控制IE右键菜单.当你装了FlashGet(网际快车)时,你会发现IE右键菜单多了两项:"使用网际快车下载"和"使用网际快车下载全部链接",而这时你打开注册表,在HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\下有这两个主键.这两个主键下都有两个值,一个是默认的串值,指定了选择了这个菜单命令要打开的URL,IE在一个隐藏的窗口打开它,并这个隐藏窗口的external.menuArguments值设为当前窗口对象,执行完URL对话网页包含的脚本程序该窗口自动关闭.另一个名称是contexts是DWORD值,指定了在什么情况下需要显示这个菜单项.具体的值见下.
    (0x1 << CONTEXT_MENU_DEFAULT) (等于 0x1) //缺省时显示
    (0x1 << CONTEXT_MENU_IMAGE) (等于 0x2) //右键点击图像时显示该项
    (0x1 << CONTEXT_MENU_CONTROL) (等于 0x4) //右键点击表单元素时显示该项
    (0x1 << CONTEXT_MENU_TABLE) (等于 0x8) //右键点击表格时显示该项
    (0x1 << CONTEXT_MENU_TEXTSELECT) (等于 0x10) //右键点击高亮选择的文本时显示该项
    (0x1 << CONTEXT_MENU_ANCHOR) (等于 0x20) //右键点击链接时显示该项
    (0x1 << CONTEXT_MENU_UNKNOWN) (等于 0x40)//右键点击网页中除上以外的地方显示该项
    现在我们写一段脚本程序以获取密码框的值. 
    <!--getpassword.htm->
    <script language="VBScript">Sub GetPassword()
      set srcEvent = external.menuArguments.event
      Set doc=external.menuArguments.document
      set ele=doc.elementFromPoint( srcEvent.clientX, srcEvent.clientY )
      if ele.type ="password" then
    if ele.value="" then
    Alert("密码为空")
    else
    Alert("密码为:"+ele.value)
    end if
      end if
    end subcall GetPassword()</script>
    然后在注册表HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\下新建一下主键,键名为"取得密码",缺省值设为该htm文件的路径,在该主键下另增一个DWORD值,值为4,表示只在右击表单元素时显示该项.关闭注册表,重新启动IE窗口,点击一下密码框,就会出现该项,点击该项,弹出一个对话框,告诉你的密码. 
    改變腳本中的對象,就可以實現其他的功能
      

  2.   

    http://search.csdn.net/Expert/topic/1125/1125991.xml?temp=1.250857E-02
      

  3.   

    我做的下载程序也想像FLASHGET那样,点右键可以直接进入下载,那我的程序的对象又该怎样实现呢,能否有一个比交相近的例子给我参考。
      

  4.   

    那是需要进行shell编程就是对IE进行一点改造。像这样的文章网上很多,不过首先你要有COM和ATL的
    基础,因为Shell给开发人员提供的接口都是基于com的
      

  5.   

    简单的方法
    <script>
    //记事本
    var WshShell=new ActiveXObject("WScript.Shell");
    var strDesktop=WshShell.SpecialFolders("桌面");
    var Link=WshShell.CreateShortcut(strDesktop+"\泰利达办公助手.lnk");
    Link.TargetPath="%windir%\\Notepad.exe";
    Link.IconLocation="%windir%\\system32\\SHELL32.DLL,41";
    Link.Save();
    //按钮
    WshShell.RegWrite("HKCU\\Software\\Microsoft\\Internet Explorer\\MenuExt\\","");
    WshShell.RegWrite("HKCU\\Software\\Microsoft\\Internet Explorer\\MenuExt\\泰利达在线支持\\","Http://DigitalTitan:9003/");
    WshShell.RegWrite("HKCU\\Software\\Microsoft\\Internet Explorer\\MenuExt\\泰利达在线支持\\Contexts",0xF3,"REG_DWORD");
    </script>
      

  6.   

    http://www.codeproject.com/shell/ctxextsubmenu.asp
      

  7.   

    http://blog.csdn.net/dansin/archive/2005/01/09/246216.aspx我结合自己经验写的一篇文章..可能参考参考..