第一次用VB做海贼王游戏按键外挂(暂未完成,菜鸟就是菜鸟)
2011年12月09日
窗体1:
Rem 设置登入窗口关闭,后续子窗口也关闭
Private Sub Form_Unload(Cancel As Integer)
Dim i As Integer
On Error Resume Next
For i = Forms.Count - 1 To 0 Step -1
Unload Forms(i)
Next
End
End Sub
Rem 标签单击事件
Public Sub Label1_Click()
Rem 显示窗体2
Form2.Show
Rem 窗体2进入游戏官方主页
Form2.WebBrowser1.Navigate http://www.opgame.net/main.do?method=doMain
Rem 调用模板的闹钟事件
ModAPI.Timer1_Timer
End Sub
窗体2:
Rem 从官方网页选择服务器进入游戏
Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)
Cancel = True
WebBrowser1.Navigate2 WebBrowser1.Document.activeElement.href
End Sub
rem 菜单编辑器的开始挂机单击事件
Private Sub KS_GJ_Click()
KS_GJ.Enabled = False '设置该键被单击,就将启用状态设为false
TZGJ.Enabled = True '设置菜单编辑器的停止挂机的启用状态设为true
Dim hwnd As Long '设置句柄变量
Dim hwnd_1 As RECT '设置窗口结构数据变量
hwnd = FindWindow("ThunderFormDC", " ") '查找窗口
msgBox "hwnd=" & hwnd ‘调试 实现句柄查找
Rem 判断句柄值
If hwnd 0 Then
Rem 得到窗体的句柄和矩形数据
GetWindowRect hwnd, hwnd_1
Rem 调试是否得到该窗口数据(已实现)
MsgBox "(ck_1.Left)=" & Str(hwnd_1.Left)
MsgBox "(ck_1.Top)= " & Str(hwnd_1.Top)
MsgBox "(ck_1.Top)= " & Str(hwnd_1.Bottom)
MsgBox "(ck_1.Top)= " & Str(hwnd_1.Right)
Rem 调用模块的键盘移动方法
ModAPI.UpDownMove
End If
End Sub
模块:
Rem 查找子窗体函数声明
Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long,
ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Rem 键盘事件函数声明
Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal
wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Rem 查找顶层窗口句柄 函数声明
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String,
ByVal lpWindowName As String) As Long
Rem 获取进程标识
Public Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId
As Long) As Long
Rem 休眠时间的声明
Public Declare Sub Sleep Lib "kernel32 " (ByVal dwMilliseconds As Long)
Rem 按键虚拟码的函数声明
Public Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" (ByVal wCode As Long,
ByVal wMapType As Long) As Long
Rem 键盘事件过程声明
Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal Scan As Byte, ByVal dwFlags
As Long, ByValdwExtraInfo As Long)
rem 获得窗体数据的函数声明
Public Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Public Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Rem 常数声明
Public Const WM_KEYDOWN = &H100
Public Const WM_KEYUP = &H101
Rem 设置窗体2的时钟Timer事件
Public Sub Timer1_Timer()
rem 定义句柄变量
Dim hwnd As Long
rem 查找句柄值
hwnd = FindWindow("ThunderFormDC", "")
Rem 调试 句柄值调试为实现,运行却为0;
MsgBox "hwnd=" & hwnd
rem 设置窗体1的标签启用状态
If hwnd = 0 Then
Form1.Label1.Enabled = False
Else
Form1.Label1.Enabled = True
End If
End Sub
Rem 设置键盘虚拟码函数
Public Function MakeKeyLparam(ByVal VirtualKey As Long, ByVal flag As Long) As Long
Dim s As String
Dim Firstbyte As String
If flag = WM_KEYDOWN Then
Firstbyte = "00"
Else
Firstbyte = "C0"
End If
Dim Scancode As Long
Scancode = MapVirtualKey(VirtualKey, 0)
Dim Secondbyte As String 'lparam
Secondbyte = Right("00" & Hex(Scancode), 2)
s = Firstbyte & Secondbyte & "0001"
MakeKeyLparam = Val("&H" & s)
End Function
Rem 键盘移动事件
Public Sub UpDownMove( )
设置窗口句柄变量
Dim hWnd1 As Long
Dim hWnd2 As Long
'获得顶层窗口句柄
hWnd1 = FindWindow("ThunderFormDC", " ")
'获得子窗口句柄 获取窗口句柄失败
hWnd2 = FindWindowEx(hWnd1, 0, "MacromediaFlashPlayerActiveXr", " ")
’直接用hwnd2变量 赋值 作为窗口顶层查找????????失败
'hWnd2 = FindWindow("MacromediaFlashPlayerActiveXr", vbNullString)
Rem 两个句柄值的调试,hwnd1实现句柄,
MsgBox "hwnd1=" & hWnd1
MsgBox "hwnd2=" & hWnd2
键盘的向下移动事件: 在窗体2调用没有反应?
'Sleep 2000
'PostMessage hWnd2, WM_KEYDOWN, vbKeyDown, MakeKeyLparam(vbKeyDown, WM_KEYDOWN)
' Sleep 500
'PostMessage hwnd2, WM_KEYUP, vbKeyDown, MakeKeyLparam(vbKeyDown, WM_KEYUP)
'Sleep 3000
'PostMessage hwnd2, WM_KEYDOWN, vbKeyDown, MakeKeyLparam(vbKeyDown, WM_KEYDOWN)
'Sleep 1000
'PostMessage hwnd2, WM_KEYUP, vbKeyDown, MakeKeyLparam(vbKeyDown, WM_KEYUP)
End Sub
发表评论
-
评论 (
2012-01-20 12:06 468评论 ( 2011年10月04日 如何经过进程浏览教 ... -
广东省普宁市英才侨中、建新高中2011--2012学年度高三第一学期第四次月考(文综)word版
2012-01-20 12:06 606广东省普宁市英才侨中、建新高中2011--2012学年度高三第 ... -
原电池原理的解读与应用(2012-01-03 21:16:06)
2012-01-20 12:06 579原电池原理的解读与应 ... -
关于儿童踢足球,是否会对长高有不良影响
2012-01-20 12:06 1150关于儿童踢足球,是否会 ... -
科士威感恩老师QQ:41189572 2010全球直企销售百强榜单新鲜出炉
2012-01-20 12:06 15科士威感恩老师QQ:4118957 ... -
硬件常用测试软件整理,方便大家下载
2012-01-19 16:54 490硬件常用测试软件整理, ... -
NX 和PRO/E的比较――高手的对决第四回合
2012-01-19 16:54 7926NX 和PRO/E的比较――高手的对决第四回合 2010年0 ... -
Autodesk 3ds Max 2011中文版下载
2012-01-19 16:54 570Autodesk 3ds Max 2011中文版 ... -
GPU发展史之 ATI巅峰时刻
2012-01-19 16:54 528GPU发展史之 ATI巅峰时刻 ... -
浅描工作环境电脑维护以及性能测试流程
2012-01-19 16:54 589浅描工作环境电脑维护 ... -
Ubuntu下各网络服务器配置小结
2012-01-17 06:39 572Ubuntu下各网络服务器配置小结 2011年12月10日 ... -
LAMNP 编译安装参数(一)---Apache 安装编译参数
2012-01-17 06:39 1934LAMNP 编译安装参数(一)---Apache 安装编译参数 ... -
惠普 康柏 510 笔记本电脑
2012-01-17 06:39 640惠普 康柏 510 笔记本电脑 2011年12月17日 ... -
俺的电脑配置
2012-01-17 06:39 583俺的电脑配置 2011年12月21日 电脑型号 微星 ... -
VB操作网页元素
2012-01-16 05:20 884VB操作网页元素 2010年01月23日 用webbro ... -
IE浏览器交互
2012-01-16 05:20 642IE浏览器交互 2010年12月11日 VB与――自动 ... -
VB读取网站超链接!
2012-01-16 05:20 516VB读取网站超链接! 2011年01月23日 Priva ... -
VB模拟点击代码(广告+排名)
2012-01-16 05:19 585VB模拟点击代码(广告+排名) 2010年01月02日 ...
相关推荐
VB 检测按键 VB 检测按键 VB 检测按键 VB 检测按键 VB 检测按键 VB 检测按键 VB 检测按键
最值得一提的是结合VB的界面直观显示实时窗体信息,既克服了VB不能直接调用按键精灵dll等插件命令的问题,也克服了按键精灵界面只能读取输入不能实时界面输出显示的缺陷,实现了VB强大界面功能与按键精灵经典DLL插件...
VB实现自动按键,VB实现自动按键,VB实现自动按键
最值得一提的是结合VB的界面直观显示实时窗体信息,既克服了VB不能直接调用按键精灵dll等插件命令的问题,也克服了按键精灵界面只能读取输入不能实时界面输出显示的缺陷,实现了VB强大界面功能与按键精灵经典DLL插件...
VB模拟按键终极教程,有了他,什么游戏都不怕。 文章里面详细介绍实现的原理及代码,C语言的同学可以根据代码转换一下就行; 通过局部级及全局级对windows的一些消息响应知识进行了一些介绍; 文章删除了一个最后的...
VB万能后台模拟按键 含构造扫描码[扫盲帖新手必看]部分游戏 后台按键失效的原因
VB 检测按键整理了一下本人硬盘里实用的编程资料和源码,全部是VB代码,希望大家能喜欢.
VB模拟按键终极教程
用VB写的太空大战,有五个程序 很详细的
教你怎样一步一步的有VB学习写外挂代码VB 从零开始编外挂(一) 需要VB API函数: FindWindow ←寻找窗口列表中第一个符合指定条件的顶级窗口 GetWindowThreadProcessId ←获取与指定窗口关联在一起的一个进程和线程...
VB撞球游戏,源代码由国外VB达人所写,俗称乒乓球游戏,也叫撞球游戏,游戏画面运行流畅。不过程序在游戏控制和功能方面,只是做的很基础,没有太多功能,只是可以拿去学习参考。
VB做的积木游戏,源码形式,对VB编程很有用!
在VB 6.0 环境下开发的一个小打字游戏,主要是用来测试打字速度和用户对键盘的熟悉程度```
键盘是我们使用计算机的一个很重要的输入设备了,即使在鼠标大行其道的今天,很多程序依然离不开键盘来操作。但是有时候,一些重复性的,很繁琐的键盘操作总会让人疲惫
在VB.net的环境下实现捕获键盘按键和鼠标位置的例程
获得窗体句柄,然后进行模拟按键鼠标操作,模拟中间滚轮操作等等。程序都写入了1个类模块和1个模块中。直接拷贝调用。主窗体时各个程序的测试。
这是一个使用SetWindowsHookEx的程序,屏蔽了键盘按键(包括系统按键)。 如果只想屏蔽某个按键,请更改下面的代码。 Form1.Text1 = wParam Form1.Label1 = kk.vkCode & ":" & kk.scanCode & ":" & kk.Time 'If ...
猜字游戏,猜字游戏,用VB实现的,看看猜字游戏,用VB实现的,看看猜字游戏,用VB实现的,看看
刚刚学习了一遍vb程序设计,想自己做点东西,就做了一个21点游戏,里面存在缺点不足,还望指教。
为了方便查询VB键盘按键代码而设计, ASCII、KEY CODE、KEY VALUE、鼠标按钮,需要 NET Framework4.0 支持。