|

今天闲来无事,给大家发个魔域自动喊话的制作详解脚本,首先请把大漠插件放到项目保存位置的Debug文件夹,打开VB2008新建项目,新建模块,
声明API
Imports System.Runtime.InteropServices
Module Module1
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Public Function GetWindow(ByVal hWnd As Integer, ByVal uCmd As UInt32) As Integer
End Function
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Public Function PostMessage(ByVal hWnd As Integer, ByVal Msg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Boolean
End Function
Public Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Integer)
End Module
依下图设计好窗体,添加一个时钟,双击喊话按钮打开,

在CLASS FORM1里声明变量
Public dm As New Object ‘创建大漠插件对象
Public 魔域主窗口 As Integer
Public 魔域第1子窗口 As String
Public 发送窗口 As String
Public 聊天窗口 As String
在FORM1_LOAD里
Shell("regsvr32 /s dm.dll") ‘’ 注册大漠插件
dm = CreateObject("dm.dmsoft") ‘实例化大漠对象
魔域主窗口 = dm.FindWindow("", "【魔域】") ‘查找魔域主窗口
魔域第1子窗口 = dm.EnumWindow(hwnd1, "", "#32770", 2 + 4 + 16) ‘查找魔域下第一个子窗口,可以用按键抓抓观看魔域所有窗口句柄
发送窗口 = dm.EnumWindow(CInt(hwnd2), "SEND", "Button", 1 + 2 + 16) ‘查找魔域发送窗口,也就是编辑文字旁边那个
聊天窗口 = GetWindow(CInt(发送窗口), 3) ‘查找魔域文字编辑窗口,对函数不了解的可以百度下参数内涵
在第一个按钮里
聊天窗口 = CInt(聊天窗口) ‘把字符转成整数
发送窗口 = CInt(发送窗口) ‘把字符转成整数
Timer1.Enabled = True ‘’把时钟设为真
Timer1.Interval = TextBox1.Text * 1000 ‘设置时钟调用的时间间隔=文本框的数字*1000,因为是以毫秒记
Timer1.Start() ‘ 开始记时器
双击时钟,在Timer1_Tick里输入
dm.SendString(聊天窗口, TextBox2.Text) ‘调用大漠发送函数向聊天窗口发送文本
Sleep(500)
PostMessage(发送窗口, 513, 1, 0)
PostMessage(发送窗口, 514, 0, 0)
PostMessage(发送窗口, 515, 0, 0) ‘前三个加起来是向发送窗口发送左键双击消息
PostMessage(发送窗口, 513, 1, 0) ‘向发送窗口发送左键按下消息
PostMessage(发送窗口, 514, 0, 0) ‘向发送窗口发送左键抬起消息
因为窗口在后台时发送窗口需得到焦点,所为先发个双击激活窗口,然后发单击命令发送文本。
以上是魔域自动喊话脚本,欢迎高手指点。也欢迎不知道的讨论交流。下次发个BOSS自动报警。
|
|