这段时间迷上了热血江湖这个游戏
也想自己做一个外挂来玩玩,可在制作过程中发现了N多问题,希望在这里得到帮助!1.定义热键
目的和按键精灵的一样即可,按F11开始 F12停止
在运行过程中,有的时候按F11 就可以,有的时候就没有反映,而且是大部分时间都没有反映2.用什么方法可以在整个屏幕上查找某一个图像,只要屏幕有这个图像就停止程序,若没有就查找!
也想自己做一个外挂来玩玩,可在制作过程中发现了N多问题,希望在这里得到帮助!1.定义热键
目的和按键精灵的一样即可,按F11开始 F12停止
在运行过程中,有的时候按F11 就可以,有的时候就没有反映,而且是大部分时间都没有反映2.用什么方法可以在整个屏幕上查找某一个图像,只要屏幕有这个图像就停止程序,若没有就查找!
解决方案 »
- 关于屏幕键盘的一个问题(1)
- active threed plus那位大哥有,请提供一份。谢谢
- 如何调用网络中其它机器的DLL
- 60分请教webbrowser1控件问题啊,他欺负人啊!555555555555555
- ComboBox中列出數據資料
- 怎么使用ProgressBar控件!
- 请问在进行网络连接的时候,出现加载Rnaui.dll的错误是怎么回事?
- 求能够让VB窗体最小化时运行在系统托盘(SysTray)中,并且双击图标后又恢复视窗的代码。
- 我要在数据库中成批的删除满足条件的记录。用什么方法好些
- 请您帮忙!!!!!!!!
- VFP程序转换问题,主要是DBF数据库转到MS SQL的问题
- VSFlexGrid 这个控件怎么用!
用SENDMESSAGE或者POSTMESSAGE吧
Public Type KeyboardBytes
kbByte(0 To 255) As Byte
End TypePublic Type KBDLLHOOKSTRUCT
vkCode As Long
scanCode As Long
flags As Long
time As Long
dwExtraInfo As Long
End TypePublic m_hDllKbdHook As Long
Public Const WH_KEYBOARD_LL As Long = 13
Public Const HC_ACTION As Long = 0
Public Const WM_CHAR As Long = &H102
Public Const KEYEVENTF_EXTENDEDKEY = &H1
Public Const KEYEVENTF_KEYUP = &H2
Public Const SW_RESTORE = 9
Public Const SW_MINIMIZE = 6Public Const VK_TAB = &H9
Public Const VK_UP = &H26
Public Const VK_SUBTRACT = &H6D
Public Const VK_SPACE = &H20
Public Const VK_SHIFT = &H10
Public Const VK_SEPARATOR = &H6C
Public Const VK_RWIN = &H5C
Public Const VK_RIGHT = &H27
Public Const VK_RMENU = &HA5
Public Const VK_RSHIFT = &HA1
Public Const VK_RETURN = &HD
Public Const VK_RCONTROL = &HA3
Public Const VK_RBUTTON = &H2
Public Const VK_PROCESSKEY = &HE5
Public Const VK_PRIOR = &H21
Public Const VK_PRINT = &H2A
Public Const VK_PAUSE = &H13
Public Const VK_PLAY = &HFA
Public Const VK_NUMPAD9 = &H69
Public Const VK_NUMPAD8 = &H68
Public Const VK_NUMPAD7 = &H67
Public Const VK_NUMPAD6 = &H66
Public Const VK_NUMPAD5 = &H65
Public Const VK_NUMPAD4 = &H64
Public Const VK_NUMPAD3 = &H63
Public Const VK_NUMPAD2 = &H62
Public Const VK_NUMPAD1 = &H61
Public Const VK_NUMPAD0 = &H60
Public Const VK_MODECHANGE = &H1F
Public Const VK_MENU = &H12
Public Const VK_MBUTTON = &H4
Public Const VK_LWIN = &H5B
Public Const VK_LSHIFT = &HA0
Public Const VK_LMENU = &HA4
Public Const VK_LEFT = &H25
Public Const VK_LCONTROL = &HA2
Public Const VK_LBUTTON = &H1
Public Const VK_INSERT = &H2D
Public Const VK_HOME = &H24
Public Const VK_HELP = &H2F
Public Const VK_F9 = &H78
Public Const VK_F8 = &H77
Public Const VK_F7 = &H76
Public Const VK_F6 = &H75
Public Const VK_F5 = &H74
Public Const VK_F4 = &H73
Public Const VK_F3 = &H72
Public Const VK_F2 = &H71
Public Const VK_F1 = &H70
Public Const VK_F10 = &H79
Public Const VK_F11 = &H7A
Public Const VK_F12 = &H7B
Public Const VK_ESCAPE = &H1B
Public Const VK_END = &H23
Public Const VK_DOWN = &H28
Public Const VK_DELETE = &H2E
Public Const VK_CONTROL = &H11
Public Const VK_CLEAR = &HC
Public Const VK_CANCEL = &H3
Public Const VK_CAPITAL As Long = &H14
Public Const VK_NUMLOCK As Long = &H90
Public Const VK_SCROLL As Long = &H91
Public Const LLKHF_UP As Long = &H80Public preWinProc As Long
Public HotKey As Long
Public HotKey_Cild As Long
Public Modifiers As Long, uVirtKey As Long, idHotKey As Long, formhwnd As Long
Public Function LowLevelKeyboardProc(ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Dim kbdllhs As KBDLLHOOKSTRUCT
If nCode = HC_ACTION Then
Call CopyMemory(kbdllhs, ByVal lParam, Len(kbdllhs)) If (kbdllhs.flags And LLKHF_UP) Then
Select Case kbdllhs.vkCode
Case VK_F11
....... '开始外挂
Case VK_F12
........ '停止外挂
Case VK_HOME
RxjhWg.SetFocus
End Select
End If
End If
LowLevelKeyboardProc = CallNextHookEx(m_hDllKbdHook, nCode, wParam, lParam)
End FunctionDim kbdState As KeyboardBytes
Dim L As Long
Call GetKeyboardState(kbdState)
m_hDllKbdHook = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf LowLevelKeyboardProc, App.hInstance, 0&)
Private Sub Form_Load() Me.AutoRedraw = True
Dim kbdState As KeyboardBytes
Call GetKeyboardState(kbdState)
m_hDllKbdHook = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf LowLevelKeyboardProc, App.hInstance, 0&)
AppActivate App.title
End Sub在这里,我没有声明API!
Dim L As Long
Call GetKeyboardState(kbdState)
m_hDllKbdHook = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf LowLevelKeyboardProc, App.hInstance, 0&)
这个多复制了一下!
第二个问题在VB中其实很好解决,利用一下按键精灵中的QMDispatch.dll,只要这个dll注册了,那么在VB中就可以创建它的对象,然后利用它里边的findpic函数,具体的实现你可以参照一下按键精灵中的stdlib.vbs的内容。
第2点你这个.......图片匹配的话..不太好办,,,,因为游戏一般都是DX的,一般截图可能截不到,另外匹配图片的话..........算法优化,否则慢死..建议你取游戏里其他的标志来停止程序,例如某个内存地址数据的变化什么的,这个比较简单.
取我解决第一个的办法,取楼上解决第二个的办法,,你发达了楼主
BLOG还打不开的话,,你去下载区里搜我写的那几个修改器,都带代码,,不过不全是采用上面说的方法.