IE中右键启动程序 如何实现在IE浏览器右键点击启动程序,并次链结地址载入程序,就像“网际快车”安装在浏览网页时右键将有“使用网际快车下载”的这样的程序。请大侠帮忙。谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用脚本语言和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 ifend subcall GetPassword()</script>然后在注册表HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\下新建一下主键,键名为"取得密码",缺省值设为该htm文件的路径,在该主键下另增一个DWORD值,值为4,表示只在右击表单元素时显示该项.关闭注册表,重新启动IE窗口,点击一下密码框,就会出现该项,点击该项,弹出一个对话框,告诉你的密码. 改變腳本中的對象,就可以實現其他的功能 http://search.csdn.net/Expert/topic/1125/1125991.xml?temp=1.250857E-02 我做的下载程序也想像FLASHGET那样,点右键可以直接进入下载,那我的程序的对象又该怎样实现呢,能否有一个比交相近的例子给我参考。 那是需要进行shell编程就是对IE进行一点改造。像这样的文章网上很多,不过首先你要有COM和ATL的基础,因为Shell给开发人员提供的接口都是基于com的 简单的方法<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> http://www.codeproject.com/shell/ctxextsubmenu.asp http://blog.csdn.net/dansin/archive/2005/01/09/246216.aspx我结合自己经验写的一篇文章..可能参考参考.. 菜蛋问题:求一简单算法实现 请教UDP异步通信,数据存在哪里? 如何在视图中加入垂直滚动条 和水平滚动条 ,,详细一点 谢谢 串口通信中的线程问题 在线程函数中,可以向FrowView类发送消息吗 多文档的一个问题 请问下面的代码怎样解释 漂流补偿?压缩域算法? 能在“帮助”F1中调出msdn中的函数的帮助例子吗?(在线等待,马上给分) 先学mfc还是先学api 初学者问大侠,急,谢了! 请问高手:如何在WIN2000中 实现像WINXP中的对话框窗口
(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窗口,点击一下密码框,就会出现该项,点击该项,弹出一个对话框,告诉你的密码.
改變腳本中的對象,就可以實現其他的功能
基础,因为Shell给开发人员提供的接口都是基于com的
<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>