请教,我按照网上一些帖子的做法添加了一个IE的右键菜单,
并且用VB做了相应的AxtiveX DLL,加了相应的JavaScript脚本,
但是在IE里点相应的菜单项就是没有反应,
是否有哪位做过这一块的?能否指教一下?谢谢了。我是按照下面这个帖子的步骤来做的:
http://www.poptool.net/server/p108/J10813331.shtml

解决方案 »

  1.   

    原文是这个http://www.applevb.com/art/ie_menu.txt你按这个做了确定有问题?
      

  2.   

    是的,我是按照这个做的,
    用VC也试了,VC是用这个:http://www.codeguru.com/cpp/misc/misc/internetexplorer/article.php/c11007/都没有任何反应,
    点那个相应的菜单项,但是应该弹出来的MessageBox却不能弹出来,
    已经折腾了好几天了,没有解决,所以来这里请教一下。
      

  3.   

    楼上这位,如果不知道,那就请不要回复,这是一个技术讨论的帖子,不是讨论你说的这个方面。既然你说到这个,大概你认为这样加菜单是在对IE进行劫持,那我请教一下,FlashGet是不是也在做这样的事情?
    而你所谓的“菜鸟”是否都不用FlashGet?
    我所要做的这个部分是可以设置的,用户需要可以加,不需要就可以去掉,只是为了方便而加上,
    何来饶不饶的问题?
      

  4.   

    daisy8675,你好!你是不是也按里面的步骤做过这样的功能?
    没有遇到我所说的问题吗?
    能否帮忙指点一下可能是哪里出现的问题?谢谢!
      

  5.   

    我把CreateObject里的改成和FlashGet的一样,能把FlashGet调起来,
    看来是那个ActiveX写的有问题了?
    但是会是什么问题呢?简单的一个MsgBox怎么都会有问题?
    请教哪位是否做过这个的?指点一下,谢谢了!
      

  6.   

    明天我试一下.今天看火炬传递去了.HOHO
      

  7.   

    可能是安全问题?你的ActiveX是不是实现了IObjectSafety?
      

  8.   

    jiangsheng,按照那篇VB的文章里的步骤,没有添加这个IObjectSafety的接口,
    而且VC相关的这个文章里也没有提到要实现这个接口,
    你的意思是不是需要实现这个接口才能正常工作?
      

  9.   

    这篇文章的主要代码我测试了.完全没有什么问题,下面是我测试的图.你需要二点:1,这篇文章使用VBScript 而不是Javascript,你自己说了用javasrcipt
    2, 在使用注册表,文章中使用了@="c:\\program files\\geturl.htm"你自己要注意相对应的路径以及文件名称的正确性.
    如果你不确定的话,你可以直接在注册表中间增加相对应的值
    3,文章最前面写增加一个Add Url那只是举例子子.
    后面的实际上是增加了&Get Url这个注册表键了.这是分离的两段话.其实分3个不足步骤
    1,建立VB工程,工程名字叫NetSamp,Dll生成NetAPI.dll .如果这2个名称不符合,请你一定在下面的vbs脚本中也进行对应的修改.对生成的dll进行注册
    2,增加一段vbs脚本并存成htm文件.文件的位置请自己确定.
    3,建立注册表相对应的键.对应的htm位置请按先前位置确认.
      

  10.   

    谢谢daisy8675,我也做过测试,其实用JavaScript主要就是想让那个Alert弹出来,
    后来我还是改回用VBScript,但是发现还是有问题,
    不知道是否和IE的设置有关系?能否把你测试用的code打包发给我试一下?谢谢了!
      

  11.   

    我的code就是和文章中写的一样,很简单啊,和文章的一模一样,跟IE没关系吧
    你如果安装flashget什么的,也可以看到是一样的呀
      

  12.   

    我把什么发给你呀=_=  reg dll?汗,那还不如我远程做一个给你看
      

  13.   

    就是你做的VB的这个project目录,和那个.htm文件,
    我这边还就是没有弹出来那个对话框,很是郁闷。
      

  14.   

    你的IE或防火墙都允许弹出窗口么?
    IE的安全设置未必和daisy8675的一样吧?
    另外我不用什么FLASHGET,还讨厌别人修改我系统的东西
      

  15.   

    daisy8675,我发了一份站内的短消息给您,谢谢了!
      

  16.   

    我也就是按照那篇文章说的一点一点做过来的,但是那个对话框就是不能弹出来,
    不然我也不用在这里来问了,daisy8675,或者我把我的这几个文件发送给你,
    你帮我看一下,是否可以?
    或者IE上是否有什么需要特殊设置的地方?
    实在是不知道问题出在哪里,谢谢了!
      

  17.   

    谢谢daisy8675,我已经把那个文件打包发给您了。
      

  18.   

    楼主同学,htm文件中第一行少了一个"<"是<script language="VBScript">而不是script language="VBScript">汗啊
      

  19.   

    daisy8675,你好,把那个加上您那边可以弹出来对话框吗?
    我这边好象还是不可以。
      

  20.   

    你的注册表把htm文件是放在c:\C:\Program Files目录下,建议你一定要放对.你可以改在C:\下也可以,但是注册表对应进行更改另外script建议你重新copy一次代码没问题,我觉得还是你细节问题木注意.
      

  21.   

    没有这么高度吧?我一向RP很不错的啊,
    本来就想这是个小CASE,居然折腾这么多天出不来,
    纳闷又纳闷,不过还是谢谢daisy867,
    是不是我的机器上设置了什么阻止的?
    可是FlashGet又可以,
    会不会是需要实现IObjectSafety?
      

  22.   

    RP会降低的哦^_^如果是2个机器都不行,那只能用代码错误解释,我已经测试你的代码了,除非你自己又木写对代码
    或者不明白对应的文件应该放什么地方再解释不明白只能用RP.或者请你身边的人帮你重新做一个吧这个帖结了吧,完全跟你的问题无关了=_=
      

  23.   

    我就是用发给你的那份代码做的,
    把那个geturl.htm改了,路径也没有问题,调flashget都可以调出来,
    DLL也只需要注册就可以了,对吧?我印象中好象不需要放到C:\Windows\System32下吧?
    还有什么地方会出错的?很是奇怪。
      

  24.   

    我就是用发给你的那份代码来做的,
    把geturl.htm修改了一下,路径也应该没有问题,因为在脚本里调FlashGet都可以调出来,
    那个DLL注册也成功了,
    对了,那个DLL不需要放到C:\Windows\System32下吧?
    还有什么地方可能出错呢?很是奇怪。
      

  25.   

    IE右键其实就是改注册表,
    加个HTML文件,
    HTML里用VBScript或JavaScript来写调用代码。
      

  26.   

    我觉得路径应该没有什么问题,
    我把那个geturl.htm的内容改成FlashGet的是可以直接把FlashGet调起来的,
    而在我的印象中,那个DLL是不需要放到C:\Windows\System32里面吧?
    还有什么地方会出问题?
    难道是需要实现那个IObjectSafety接口?
    不知道daisy8675你那边的IE设置是什么样的?
    会不会是我这边的IE设置的问题?
      

  27.   

    我最后回答你这个问题,然后我不会再回答了,因为我觉得所有答案在上面已经有了,对于这个问题我没有兴趣了。能做的一切我都已经做了。

    dll不需要放到system32目录,只需要进行注册
    VB中没有对IObjectSafety的要求,你如果觉得老蒋讲话可靠,请你去找他。我的测试环境WIN2003+ie6 /winxp+ie7
      

  28.   

    daisy8675,我很感谢您的帮助,
    分我是一定会给的,只是我希望能把我要做的问题解决,
    这个问题我在VC和VB版块都问了,
    在我这边用VC和VB都有问题,
    而且我这边同时用了好几台机器都是一样。
      

  29.   

    我在英文和中文版本的XP上都试过,IE6和IE7都试了,还是没有反应,很是纳闷。
      

  30.   

    问题还是没有解决,不过还是感谢daisy8675的帮忙,
    如果有可能,还是希望能帮我看看怎样能解决这样的问题。