用VB6写个DLL,读取网页内容,并且返回。
如读取 http://www.baidu.com/duqu.asp?x1=1&x2=2&x3=3
然后这个网页会返回某一个值,DLL把它读出来,再判断
求高手,求思路(或代码)

解决方案 »

  1.   

    新建activex dll工程,加入下面的方法
    Public function totext(sUrl as string) as string
        Dim s As String
        Inet1.Cancel
        Inet1.protocol = icHTTP
        Inet1.url = sUrl 
        s = Inet1.OpenURL
        If Len(s) = 0 Then Exit Sub
        totext=s
    End function 
      

  2.   

    用Exit Sub 提示在 function 不允许  Exit Sub改成了 Exit function 提示 访问系统注册表错误可能是WIN7问题,等下重新注册看看
      

  3.   

    访问系统注册表错误
    问题已经解决
    但是经测试返回不了值
    Inet1是哪一个控件呀,还需要什么操作呀
      

  4.   

    给你一个绿色版的吧。
    Private Function getHtmlStr(strUrl As String) As String
        Dim XmlHttp As Object
        Set XmlHttp = CreateObject("Microsoft.XMLHTTP")
        XmlHttp.Open "GET", strUrl, False
        XmlHttp.send
        getHtmlStr = StrConv(XmlHttp.ResponseBody, vbUnicode)
        Set XmlHttp = Nothing
    End Function
      

  5.   

    用了4楼的方法,直接在工程上写是可以的,但是生成了DLL后调用,就提示了 438 对象不支持该属性或方法
    是不是调用的方法错了啊Private Sub Command1_Click()Dim getReqHmacString As String
    Dim mctSDK  As Object
    Set mctSDK = CreateObject("getHtmlStr1.getHtmlStr2")
    getReqHmacString = mctSDK.getHtmlStr("http://www.baidu.com")Label1.Caption = getReqHmacStringEnd Sub
      

  6.   

    在哪一步发生错误?可能是你的dll有问题 确定是放到了类中而不是模块中吧?getHtmlStr2是类吧?getHtmlStr是在getHtmlStr2中的吧,是public方式声明的吧?
      

  7.   

    是用你上面写的直接复制上去的,
    Private Function getHtmlStr(strUrl As String) As String
        Dim XmlHttp As Object
        Set XmlHttp = CreateObject("Microsoft.XMLHTTP")
        XmlHttp.Open "GET", strUrl, False
        XmlHttp.send
        getHtmlStr = StrConv(XmlHttp.ResponseBody, vbUnicode)
        Set XmlHttp = Nothing
    End Function
    然后就改工程名为getHtmlStr1,类名为getHtmlStr2,生成getHtmlStr_X.Dll,然后就regsvr32注册
      

  8.   

    新建的是ActiveX DLL,然后直接复制上去的
      

  9.   

    奇怪,你把Private 改成public看看
      

  10.   

    出错时是定位在哪一行的?mctSDK.getHtmlStr 这一行吗?另外就工程可能也会引起干扰的,建议重新建立一个工程,工程名字和类名都不要和以前相同再测试。注册的话貌似要先regsvr32 /u的。
      

  11.   

    OK了,改成public后就可以了,谢谢高手!!