250分最高分,请高手解答VB6程序读取网页文本及其链接的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了250分最高分,请高手解答VB6程序读取网页文本及其链接的方法相关的知识,希望对你有一定的参考价值。

求真正的VB6高手解答此问题,非常感谢。希望写出VB6源代码。

在VB6中用XMLHTTP方法实现读取网页内文本及其URL链接,分行显示的是文本,点击此文本可以驱动窗口内的一个文本框text2.text显示,并且此文本框能自动读取远程另一个网页的纯文本字符。

一、做一个VB6程序,用XMLHTTP方法读取http://www.baidu.com这个网址。

二、假设读取http://www.baidu.com后的所有文本及其链接代码如下:
<a href=http://www.baidu.com/?u=1&v=2>百度搜索引擎一</a>
<a href=http://www.baidu.com/?u=6&v=3>百度搜索引擎二</a>
<a href=http://www.baidu.com/?u=4&v=4>百度搜索引擎三</a>
<a href=http://www.baidu.com/?u=1&v=5>百度搜索引擎四</a>
<a href=http://www.baidu.com/?u=8&v=6>百度搜索引擎五</a>

则分行显示的是:
百度搜索引擎一
百度搜索引擎二
百度搜索引擎三
百度搜索引擎四
百度搜索引擎五

三、那么点击下面显示的“百度搜索引擎X”,可以让text2.text文本框自动显示(原来是隐藏的),并在text2.text中显示http://www.baidu.com/?u=x&v=x页面中的所有字符串内容(不必显示网页界面)。

求的是XMLHTTP方法读取。

所有程序不想有调用浏览器的方法。

再次谢谢。
jzxchen,你的答案无法测试,提示BYREF参数不符错误,如何解决呢?

模块里写:
'超级链接
Public Function QueryValue(lPredefinedKey As Long, sKeyName As _
String, sValueName As String)
Dim lRetVal As Long
Dim hKey As Long
Dim vValue As Variant

lRetVal = RegOpenKeyEx(lPredefinedKey, sKeyName, 0, _
KEY_ALL_ACCESS, hKey)
lRetVal = QueryValueEx(hKey, sValueName, vValue)
QueryValue = vValue
RegCloseKey (hKey)
End Function
'超级链接
Function QueryValueEx(ByVal lhKey As Long, ByVal szValueName _
As String, vValue As Variant) As Long
Dim cch As Long
Dim lrc As Long
Dim lType As Long
Dim lValue As Long
Dim sValue As String

On Error GoTo QueryValueExError

'获得键值的属性
lrc = RegQueryValueExNULL(lhKey, szValueName, 0&, lType, 0&, cch)
If lrc <> ERROR_NONE Then Error 5

Select Case lType
Case REG_SZ:
sValue = String(cch, 0)
lrc = RegQueryValueExString(lhKey, szValueName, 0&, _
lType, sValue, cch)
If lrc = ERROR_NONE Then
vValue = Left$(sValue, cch)
Else
vValue = Empty
End If

Case REG_DWORD:
lrc = RegQueryValueExLong(lhKey, szValueName, 0&, _
lType, lValue, cch)
If lrc = ERROR_NONE Then vValue = lValue
Case Else
lrc = -1
End Select

QueryValueExExit:

QueryValueEx = lrc
Exit Function

QueryValueExError:

Resume QueryValueExExit

End Function

窗口里写:
Private Sub Label14_Click()
Dim AStr As String
Dim BStr As String
Dim ComStr As String
Dim LinkStr As String
If Label14 <> "" Then
Me.MousePointer = 11
AStr = QueryValue(HKEY_CLASSES_ROOT, ".html", "")
If InStr(AStr, Chr(0)) Then
AStr = Left$(AStr, InStr(AStr, Chr(0)) - 1)
End If
BStr = AStr + "\shell\open\command"
'获得打开html文件的程序的全路径
ComStr = QueryValue(HKEY_CLASSES_ROOT, BStr, "")

If InStr(ComStr, Chr(0)) Then
ComStr = Left$(ComStr, InStr(ComStr, Chr(0)) - 1)
End If
Shell ComStr '运行程序

BStr = AStr + "\shell\open\ddeexec\Topic"
'获得DDE连接打开html文件的命令
ComStr = QueryValue(HKEY_CLASSES_ROOT, BStr, "")
If InStr(ComStr, Chr(0)) Then
ComStr = Left$(ComStr, InStr(ComStr, Chr(0)) - 1)
End If

BStr = AStr + "\shell\open\ddeexec\Application"
'获得DDE连接的程序标识
LinkStr = QueryValue(HKEY_CLASSES_ROOT, BStr, "")
If InStr(LinkStr, Chr(0)) Then
LinkStr = Left$(LinkStr, InStr(LinkStr, Chr(0)) - 1)
End If

Label14.LinkTimeout = -1 '将连接超时限制设定为最大
'建立连接
Label14.LinkMode = 0
Label14.LinkTopic = LinkStr + "|" + ComStr
Label14.LinkItem = txtURL
Label14.LinkMode = 2
Label14.LinkRequest
Label14.Caption = "主页"
Me.MousePointer = 0
End If
End Sub
参考技术A 怎么不用inet呢?!试试! 参考技术B 这个很简单的,我晚上给你做好,你发信息给我. 参考技术C 看看这个: 参考技术D

参考资料:啊啊

第5个回答  2007-11-23 问题我都看的不是很明白

用Autoit编程软件,如何读取屏幕上的信息?Autoit高手进!

急需各位Autoit高手帮忙,
本人想学一个类似批处理文件,但比它更强悍的编程语言
于是就看上了Autoit,这个软件的控制功能真牛叉,调用鼠标和键盘的函数非常实用
但是,我对它的读取功能表示怀疑。难道Autoit只能读取文件内容么?
因为用Autoit写程序有时会遇到多种情况,就需要读取屏幕上的内容分情况处理(例如读取被打开网页中的文字)
有什么函数能用来做这个的么?
实在不行,但是读取网页信息就行了,
还是不行的话,谁帮忙给个当前网页的内存地址也行...

应该说Autoit提供的功能还是很强大的,并不单纯是简单的鼠标和键盘函数,Autoit有一个可以称之为庞大的函数库,这个函数库除了软件自带的函数库之外,还有由Autoit爱好者不断更新的用户自定义函数库。
例如,读取网页文字,就可以通过用户函数库中的IE函数库包来进行处理。如:
_IEDocReadHTML:返回整个文档的HTML源代码.
_IEBodyReadText:返回网页中标记中的文本.
_IEImgClick:模拟鼠标点击网页上某一个图像,可以通过文本、名称进行定位匹配.
等等。
参考技术A 打开帮助,User Defined Function 中的Ie Management里的函数可以与IE内核浏览器交互。
比如,你不要关闭这个页面,运行下面的代码看看:

#include <IE.au3>
$oIE = _IEAttach ("用Autoit编程软件,如何读取屏幕上的信息?")
$sText = _IEBodyReadText ($oIE)
MsgBox(0, _IEPropertyGet ($oIE, "locationurl"), $sText)

以上是关于250分最高分,请高手解答VB6程序读取网页文本及其链接的方法的主要内容,如果未能解决你的问题,请参考以下文章

网络高手请进~!

高分请高手用HTML编写图片流动效果代码

20分,各位高手请来帮忙啊!!!VB6.0 调用Bartender7.75问题!!!!

高分悬赏,c语言高手请进

Vbs读取txt文本,高手进

淘宝页尾css弹出层被全部网页挡住了怎样设置把弹出层级设置高于网页层请高手解答 追加悬赏