作者:Tuenhai.com MSN: king#tuenhai.com
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明
http://www.Tuenhai.com/
题记:如果你经常泡各种论坛发表宏论,如果您想把您的软件在极短时间内提交到有关网站,如果您想把您的网站快速登陆各搜索引擎,如果您想做个论坛自动发贴软件,本篇文章可能对您有所帮助。
开发工具:Microsoft Visual Studio .NET 2003
操作系统:Windows XP
不编程实现自动发帖
不编程也能实现论坛自动发贴?
答案肯定的。2003年10月前,tuenhai还未学习编程(VB6),但tuenhai已经实现论坛自动发帖器。虽然现在tuenhai已不用这种方法,但可能对有些朋友有用,还是在此介绍一下实现方法。
实现原理是:借用模拟键盘、鼠标操作的软件,抓取输入框座标,然后模拟移动鼠标到指定座标,模拟键盘输入字符,模拟回车或点击相应位置完成自动发贴。当然,你得编写相应自动化脚本,虽有一点难度,但对于编程来说,应该是简单的。
有三个模拟键盘、鼠标类软件,功能比较好,在《VS.NET学习方法论》http://www.Tuenhai.com/已经有所介绍。
一. PCWorker(http://www.pcworker.net)
PCWorker功能极多,更重要的是,PCWorker中的脚本代码都是看得懂的代码:
Press VK_F1 // 模擬按 F1 鍵 Press VK_CTRL+VK_F // 模擬按 Ctrl + F 鍵
是不是不太难?
二. “按键精灵”(http://www.vrbrothers.com/cn/qmacro)
相对来说,按键精灵容易使用,但只有PCWorker的少部分功能。比如PCWorker可输出随机数,按键精灵就不行。
按键精灵的脚本代码不太容易看懂,比如
KeyPress 82 1
您看得出按的是哪个键吗?
三. EzScript(http://ezscript.seed.cx/)
EzScript的功能也很多。但tuenhai在Windows XP下试用自动发贴时,没有反应。
初学者建议使用按键精灵,进阶则用PCWorker。使用教程请参考作者网站。
用AxWebBrowser控件做论坛自动发贴软件
AxWebBrowser控件即VB6中的WebBrowser控件。
用AxWebBrowser做论坛批量发贴软件,使用时先添加对AxWebBrowser控件和MSHTML的引用。
先Navigate到指定网址。然后用以下代码等待网页加载完毕:
Do While brow.Busy
Application.DoEvents()
Loop
然后调用发帖过程。
Public Sub fill()
On Error Resume Next
Do While brow.Busy
Application.DoEvents()
Loop
Dim webDoc As Object = brow.Document.all
Dim webTag As Object
Dim lengthTag As Integer = webDoc.length - 1
For countTag As Integer= 0 To lengthTag
webTag = webDoc.item(countTag)
Select Case Strings.LCase(webDoc.item(countTag).tagname)
Case "textarea" '网页中的文本框
Select Case webTag.name
Case "body" '"body"来自网页源代码,不同网站很可能不同,你根据实际修改。下同。
webTag.value = strBody '这是预先定义的值,下同。
End Select
Case "select" '网页中的下拉选择框
Select Case webTag.name
Case "month" '选择月份,这里略去年、日的选择,因为原理相同。
webTag.all.item(1).selected = True '选择第一个值
End Select
Case "input" '网页中的输入框
Select Case Strings.LCase(webTag.type)
Case "text" '文本
Select Case webTag.name
Case "name", "userid", "nickname" '用户名
webTag.value = strName
Case "subject" '标题
webTag.value = strSubject
Case "regid" '注册码
webTag.value = strRegid
Case "username", "realname"
webTag.value = strUsername
Case "cardnumber"
webTag.value = strCardNumber
Case "homephone"
webTag.value = strHomephone '电话号
Case "url_title" '链接名称
webTag.value = urlTitle
Case "url" '链接
webTag.value = url
Case "email" 'email地址
webTag.value = email
Case "img" '图片
webTag.value = img
Case "midi" '音乐
webTag.value = midi
Case "year" '年
webTag.value = strYear
Case "prompt" '找回密码提示问题
webTag.value = strPrompt
Case "answer" '找回密码答案
webTag.value = strAnswer
End Select
Case "password" '密码
Select Case webTag.name
Case "passwd", "password", "confirm", "repasswd" '密码,确认密码
webTag.value = strPass
End Select
Case "checkbox" '单选框
Select Case webTag.name