📄 hotkey.bas
字号:
Attribute VB_Name = "HotKey"
Option Explicit
Public Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" ( _
ByVal hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
Public Const WM_APPCOMMAND As Long = &H319
Public Const APPCOMMAND_VOLUME_UP As Long = 10
Public Const APPCOMMAND_VOLUME_DOWN As Long = 9
Public Const APPCOMMAND_VOLUME_MUTE As Long = 8
'Public Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long
'Public Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer '这个函数的作用只是用来判断shift键是否被按下 解决打字按到shift键时,宠物会吃食
'自动关机程序
Public Declare Function RtlAdjustPrivilege& Lib "ntdll" (ByVal Privilege&, ByVal NewValue&, ByVal NewThread&, OldValue&)
Public Declare Function NtShutdownSystem& Lib "ntdll" (ByVal ShutdownAction&)
Public Const SE_SHUTDOWN_PRIVILEGE& = 19
Public Const shutdown& = 0
Public Const RESTART& = 1
Public Const POWEROFF& = 2
'从网上升级用
Public Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
'获取鼠标指针用
Public Declare Function GetCurrentThreadId Lib "kernel32" () As Long
Public Declare Function GetForegroundWindow Lib "user32" () As Long
Public Declare Function GetCursor Lib "user32" () As Long
Public Declare Function AttachThreadInput Lib "user32" (ByVal idAttach As Long, ByVal idAttachTo As Long, ByVal fAttach As Long) As Long
'**********************************DLL
Public Declare Function SetKeyboardHook Lib "rxzs.dll" (ByVal hwndPost As Long, ByVal Msg As Long) As Long
Public Declare Function ReleaseKeyboardHook Lib "rxzs.dll" () As Long
'**********************************DLL
Public Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" (ByVal wCode As Long, ByVal wMapType As Long) As Long
Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal Scan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Public Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long
Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, lpKeyName As Any, ByVal lpDefault As String, ByVal lpRetunedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hWnd As Long, lpdwProcessId As Long) As Long
Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Public Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, ByVal lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Public Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal CX As Long, ByVal CY As Long, ByVal wFlags As Long) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Declare Function SaveINIS Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lplFileName As String) As Long
Public Const MOUSEEVENTF_LEFTDOWN = &H2
Public Const MOUSEEVENTF_LEFTUP = &H4
Public Const MOUSEEVENTF_RIGHTDOWN = &H8
Public Const MOUSEEVENTF_RIGHTUP = &H10
Public Const WM_HOTKEY = &H312
Public Const MOD_ALT = &H1
Public Const MOD_CONTROL = &H2
Public Const MOD_SHIFT = &H4
Public Const GWL_WNDPROC = (-4)
Public Const WM_KEYDOWN = &H28
'**********************************DLL
Public Const WM_USER = &H400
Public prevWndProc As Long
'**********************************DLL
Public Setini As String
Type POINTAPI
X As Long: Y As Long
End Type
Public GameHwnd As Long
Public GamePid As Long
Public GPPid As Long
Public DefaultMiniLife As Integer
Public MaxLife As Integer
Public MaxNL As Integer
Public DefaultLife As Integer
Public DefaultNL As Integer
Public StartFt As Boolean
Public JuLi1, JuLi2 As Integer
Public IniFile As String
Public MemoryIniFile As String
Public PX, PY As Integer
Public CX, CY As Integer
Public LX, LY As Integer
Public FangX As Integer
Public ShoutCount As Integer
Public HasRun As Boolean
Public II As Integer
Public TmpSL1, TmpSL2, TmpSL3 As Integer 'tmpsl1-3 红的个数 蓝的个数 回城符的个数
Public TmpF As Integer '医生的F
Public Tmpi, Tmpj, Tmpk As Integer
Public MousePointN As Long
Public YNYL, YNYH As Boolean '当蓝=1时,是否要蓝
Public YNCKFK As Boolean '防止卡机
Public Function GetApp() As String
If Right$(App.Path, 1) = "\" Then
GetApp = App.Path
Else
GetApp = App.Path & "\"
End If
End Function
''''''''''
Public Sub Saveini(ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, Optional ByVal lplFileName As String = "")
If lplFileName = "" Then lplFileName = Setini
SaveINIS lpApplicationName, lpKeyName, lpString, lplFileName
End Sub
'获取INI中的值
Function GetINI(ByVal AppName As String, ByVal KeyName As String, ByVal FileName As String) As String
Dim RetStr As String
RetStr = String(255, Chr(0))
GetINI = Left(RetStr, GetPrivateProfileString(AppName, ByVal KeyName, "", RetStr, Len(RetStr), FileName))
GetINI = CheckStr(GetINI)
End Function
'去掉字符串的结束符
Public Function CheckStr(Str As String) As String
If Right$(Str, 1) = Chr(0) Then
CheckStr = Left$(Str, Len(Str) - 1)
Else
CheckStr = Str
End If
End Function
'获取INI中的值,但返回Long类型
Function GetLongINI(AppName As String, KeyName As String, Optional ByVal ReturnVal As Long = 0, Optional ByVal FileName As String = "") As Long '获取INI中整数值
On Error GoTo aaaa
Dim RetStr As String, Str As String
If FileName = "" Then FileName = Setini
RetStr = String(255, Chr(0))
Str = Left(RetStr, GetPrivateProfileString(AppName, ByVal KeyName, "", RetStr, Len(RetStr), FileName))
If Str = "" Then
GetLongINI = ReturnVal
Else
GetLongINI = CLng(Str)
End If
Exit Function
aaaa:
GetLongINI = 0
End Function
Public Sub MHK123() 'F12
If MF.txtGJ.Text = "F12开助手" Then Exit Sub
If MF.CKF(1).Value = 1 Then
Dim z As Integer
For z = 1 To 11
MF.MA(z).Enabled = True
Next z
MF.CmdSaveJZ.Enabled = True
MF.CmdNet.Enabled = True
MF.CKF(0).Value = 0
MF.CKF(1).Value = 0
MF.CKF(2).Value = 0
Else
Tmpj = Right(MF.CBF(0).Text, Len(MF.CBF(0).Text) - 1)
Tmpi = Right(MF.CBF(1).Text, Len(MF.CBF(1).Text) - 1)
Tmpk = Right(MF.CBF(2).Text, Len(MF.CBF(2).Text) - 1)
Tmpj = (Tmpj - 1) * CInt(MF.MA(7).Text)
Tmpi = (Tmpi - 1) * CInt(MF.MA(7).Text)
Tmpk = (Tmpk - 1) * CInt(MF.MA(7).Text)
Dim p As Integer
For p = 1 To 11
MF.MA(p).Enabled = False
Next p
MF.CmdNet.Enabled = False
MF.CKF(0).Value = 1
MF.CKF(1).Value = 1
MF.CKF(2).Value = 1
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -