请问打包的时候如何让我的工程“学习VB“进入到IE右键,例如网际快车安装后,在IE右键就产生用网际快车下载,小弟新学VB,就教大虾

解决方案 »

  1.   

    修改注册表,加入键值到:
    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\
    就好了!
      

  2.   

    小弟再问,如何实现把网页上的地址作为参数传给我写的代码?类似与网际快车,在IE右键使用网际快车下载,网际快车就能取到IE的地址
      

  3.   

    注册表读写api函数声明:Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As LongPrivate Declare Function RegCreateKeyEx Lib "advapi32" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, ByRef lpSecurityAttributes As SECURITY_ATTRIBUTES, ByRef phkResult As Long, ByRef lpdwDisposition As Long) As LongPrivate Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, ByRef phkResult As Long) As LongPrivate Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByRef lpType As Long, ByVal lpData As String, ByRef lpcbData As Long) As LongPrivate Declare Function RegSetValueEx Lib "advapi32" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
      

  4.   

    这个很不好弄的,对初学者有些难:
    flashget是通过一个jc_catch.htm的文件进行动作的
    打开hkcu_software_ms_ie_menuext,底下的“用flashget下载”后面的默认是一个jc_catch.htm文件
    打开这个文件,是用vbs写的,前面两个sub,最底下call OnContextMenu()
    可见OnContextMenu()是对网址进行分析的程序,里面有一句:
    Call AddLink(EventElement.href,EventElement.Alt),是调用addlink从而运行flashget,添加连接
    addlink如下:
    Sub AddLink(Url,Info) 
    On Error Resume Next
    set JetCarCatch=CreateObject("JetCar.Netscape")
    if err<>0 then
    MsgBox("FlashGet not properly installed!"+ vbCrLf+"Please install FlashGet again")
    else
    call JetCarCatch.AddUrl(Url, Info, external.menuArguments.document.Url)
            end if
    end sub
    注意那个CreateObject("JetCar.Netscape"),就是建立一个"JetCar.Netscape"的对象,然后调用此对象的addurl方法
    打开注册表编辑器HKEY_CLASS_ROOT,搜索JetCar.Netscape,察看它的CLSID是
    {FB5DA724-162B-11D3-8B9B-AA70B4B0B524}
    用搜索搜这个ID,就会找到以它为名的一个主键,底下的第一个键里有一个dll文件
    [HKEY_CLASSES_ROOT\CLSID\{FB5DA724-162B-11D3-8B9B-AA70B4B0B524}\InprocServer32]
    @="E:\\plugin\\FLASHGET\\jccatch.dll"
    这就是flashget的关键,这个dll里有运行flashget和添加url的最基本的代码
    这就是flashget的原理
      

  5.   

    IE右键使用网际快车下载取到IE的地址的功能小子已经实现了,现在想问的是如何在我VB安装的时候自动去写注册表, 而不是手动的该
      

  6.   

    如果我的DLL是有返回值的,这个怎么接受啊,小弟以前搞JAVA的,对VB不了解,能给一个带返回值的函数例子吗
      

  7.   

    yaoguang324(瑶光) :
    请问如何,既打开我的工程又能获得IE地址,HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\GetURL  默认  reg_sz c:\getURL,我加了这个参考了FLASHGET,取的了IE地址,那我要修改什么内容能同时打开我的VB程序,又能获得IE地址
      

  8.   

    回复人: klj218(诺法克の魔法) ( ) 信誉:100  2005-08-08 12:17:00  得分: 0  
     
     
       IE右键使用网际快车下载取到IE的地址的功能小子已经实现了,现在想问的是如何在我VB安装的时候自动去写注册表, 而不是手动的该
      
     
    -----------------------
    你的vb安装包可以试试用"小颖安装程序制作"(大概是这个名字,用过很久忘了)打包,可以指定安装的时候修改注册表的方法的,你要是嫌麻烦,它还可以指定安装的时候运行什么程序,你把修改注册表单独做一个exe,安装程序运行后运行一下就行了.希望对你有用
      

  9.   

    小弟,现在要取浏览器中的地址,求教大虾;我现在参考了FLASHGET能取这个页面中的某个连接,但是取不到当前浏览器中的地址,就比如浏览器是HTTP://WWW。AA。COM,但是我现在取的是AA中页面的连接,是http://www.aa.com/news/aa/1.htm,求教大虾