Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <APISysConstants.au3>
- #include <GUIConstantsEx.au3>
- #include <WinAPIGdi.au3>
- #include <WinAPIMisc.au3>
- #include <WinAPISys.au3>
- #include <WindowsConstants.au3>
- #include <Misc.au3>
- Opt('TrayAutoPause', 0)
- Local $hDll = DllOpen("user32.dll"), $iPaused = False
- ; Create GUI
- Global $g_hForm = GUICreate('Autostrafe', 160, 50, @DesktopWidth - 179, @DesktopHeight - 283, BitOR($WS_CAPTION, $WS_POPUP, $WS_SYSMENU), $WS_EX_TOPMOST)
- GUICtrlCreateLabel('X:', 10, 10, 12, 14)
- Global $g_aidLabel[2]
- $g_aidLabel[0] = GUICtrlCreateLabel('', 23, 10, 30, 14)
- GUICtrlCreateLabel('Y:', 10, 30, 12, 14)
- $g_aidLabel[1] = GUICtrlCreateLabel('', 23, 30, 30, 14)
- ; To obtain the values of "UsagePage" and "Usage" members of this structure read HID Usage Tables documentation
- ; http://www.usb.org/developers/devclass_docs/HID1_11.pdf
- Local $tRID = DllStructCreate($tagRAWINPUTDEVICE)
- DllStructSetData($tRID, 'UsagePage', 0x01) ; Generic Desktop Controls
- DllStructSetData($tRID, 'Usage', 0x02) ; Mouse
- DllStructSetData($tRID, 'Flags', $RIDEV_INPUTSINK)
- DllStructSetData($tRID, 'hTarget', $g_hForm)
- Local $pRID = DllStructGetPtr($tRID)
- ; Register HID input to obtain row input from mice
- _WinAPI_RegisterRawInputDevices($pRID)
- ; Register WM_INPUT message
- GUIRegisterMsg($WM_INPUT, 'WM_INPUT')
- GUISetState(@SW_SHOW)
- Local $lastX = 0
- Do
- If _IsPressed("51", $hDll) Then
- Send("{SPACE DOWN}")
- Local $pos1
- While _IsPressed("51", $hDll)
- If $lastX > 0 Then
- Send("{A UP}")
- Send("{D DOWN}")
- ElseIf $lastX < 0 Then
- Send("{A DOWN}")
- Send("{D UP}")
- Else
- Send("{A UP}")
- Send("{D UP}")
- EndIf
- WEnd
- Send("{SPACE UP}")
- Send("{A UP}")
- Send("{D UP}")
- EndIf
- Until GUIGetMsg() = $GUI_EVENT_CLOSE
- Func WM_INPUT($hWnd, $iMsg, $wParam, $lParam)
- #forceref $iMsg, $wParam
- Switch $hWnd
- Case $g_hForm
- Local $tRIM = DllStructCreate($tagRAWINPUTMOUSE)
- If _WinAPI_GetRawInputData($lParam, DllStructGetPtr($tRIM), DllStructGetSize($tRIM), $RID_INPUT) Then
- $lastX = DllStructGetData($tRIM, 'LastX')
- Local $lastY = DllStructGetData($tRIM, 'LastY')
- GUICtrlSetData($g_aidLabel[0], $lastX)
- GUICtrlSetData($g_aidLabel[1], $lastY)
- EndIf
- EndSwitch
- Return $GUI_RUNDEFMSG
- EndFunc ;==>WM_INPUT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement