Advertisement
Guest User

Untitled

a guest
Mar 27th, 2015
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 2.31 KB | None | 0 0
  1. #include <APISysConstants.au3>
  2. #include <GUIConstantsEx.au3>
  3. #include <WinAPIGdi.au3>
  4. #include <WinAPIMisc.au3>
  5. #include <WinAPISys.au3>
  6. #include <WindowsConstants.au3>
  7. #include <Misc.au3>
  8.  
  9. Opt('TrayAutoPause', 0)
  10. Local $hDll = DllOpen("user32.dll"), $iPaused = False
  11. ; Create GUI
  12. Global $g_hForm = GUICreate('Autostrafe', 160, 50, @DesktopWidth - 179, @DesktopHeight - 283, BitOR($WS_CAPTION, $WS_POPUP, $WS_SYSMENU), $WS_EX_TOPMOST)
  13.  
  14. GUICtrlCreateLabel('X:', 10, 10, 12, 14)
  15. Global $g_aidLabel[2]
  16. $g_aidLabel[0] = GUICtrlCreateLabel('', 23, 10, 30, 14)
  17. GUICtrlCreateLabel('Y:', 10, 30, 12, 14)
  18. $g_aidLabel[1] = GUICtrlCreateLabel('', 23, 30, 30, 14)
  19.  
  20.  
  21. ; To obtain the values of "UsagePage" and "Usage" members of this structure read HID Usage Tables documentation
  22. ; http://www.usb.org/developers/devclass_docs/HID1_11.pdf
  23. Local $tRID = DllStructCreate($tagRAWINPUTDEVICE)
  24. DllStructSetData($tRID, 'UsagePage', 0x01) ; Generic Desktop Controls
  25. DllStructSetData($tRID, 'Usage', 0x02) ; Mouse
  26. DllStructSetData($tRID, 'Flags', $RIDEV_INPUTSINK)
  27. DllStructSetData($tRID, 'hTarget', $g_hForm)
  28. Local $pRID = DllStructGetPtr($tRID)
  29.  
  30. ; Register HID input to obtain row input from mice
  31. _WinAPI_RegisterRawInputDevices($pRID)
  32.  
  33. ; Register WM_INPUT message
  34. GUIRegisterMsg($WM_INPUT, 'WM_INPUT')
  35.  
  36. GUISetState(@SW_SHOW)
  37. Local $lastX = 0
  38. Do
  39.     If _IsPressed("51", $hDll) Then
  40.         Send("{SPACE DOWN}")
  41.         Local $pos1
  42.         While _IsPressed("51", $hDll)
  43.             If $lastX  > 0 Then
  44.                 Send("{A UP}")
  45.                 Send("{D DOWN}")
  46.             ElseIf $lastX < 0 Then
  47.                 Send("{A DOWN}")
  48.                 Send("{D UP}")
  49.             Else
  50.                 Send("{A UP}")
  51.                 Send("{D UP}")
  52.             EndIf
  53.         WEnd
  54.         Send("{SPACE UP}")
  55.         Send("{A UP}")
  56.         Send("{D UP}")
  57.     EndIf
  58.    
  59. Until GUIGetMsg() = $GUI_EVENT_CLOSE
  60.  
  61. Func WM_INPUT($hWnd, $iMsg, $wParam, $lParam)
  62.     #forceref $iMsg, $wParam
  63.     Switch $hWnd
  64.         Case $g_hForm
  65.             Local $tRIM = DllStructCreate($tagRAWINPUTMOUSE)
  66.             If _WinAPI_GetRawInputData($lParam, DllStructGetPtr($tRIM), DllStructGetSize($tRIM), $RID_INPUT) Then
  67.                 $lastX = DllStructGetData($tRIM, 'LastX')
  68.                 Local $lastY = DllStructGetData($tRIM, 'LastY')
  69.                 GUICtrlSetData($g_aidLabel[0], $lastX)
  70.                 GUICtrlSetData($g_aidLabel[1], $lastY)
  71.                
  72.             EndIf
  73.     EndSwitch
  74.     Return $GUI_RUNDEFMSG
  75. EndFunc   ;==>WM_INPUT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement