Mouserecorder - Mausbewegungen aufzeichnen und abspielen: GetCursorPos, SetCursorPos | |
| |
| |
Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long |
Public Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long |
| |
Private Type POINTAPI | Benötigt werden ein Formular, zwei Buttons |
X As Long | sowie ein Timer. |
Y As Long | Aufzeichnung und Wiedergabe der Maus- |
End Type | bewegungen sind nicht abhängig von der |
| Formulargröße, sondern richten sich hier an |
Public MouseRecorder() As POINTAPI | der Monitorgröße aus. |
Public i As Integer | Klicks auf Anwendungen können leider |
| (noch) nicht simuliert werden (wenn jemand |
Sub Record() | eine Lösung kennt, bitte Info...) |
Select Case frmForm.Command1.Caption | |
Case "Record" | Aufnahme. |
i = 0 | |
Erase MouseRecorder | Alten Recorder-Inhalt löschen. |
frmForm.Command1.Caption = "Stop" | |
frmForm.Command2.Enabled = False | |
frmForm.tmrRecord.Enabled = True | |
Case "Stop" | Aufnahme beenden. |
frmForm.tmrRecord.Enabled = False | |
frmForm.Command1.Caption = "Record" | |
frmForm.Command2.Enabled = True | |
frmForm.Command1.Enabled = False | |
frmForm.Caption = "Aufnahme beendet - klicken Sie auf Play..." | |
frmForm.Command2.SetFocus | |
End Select | |
End Sub | |
| |
Sub Play() | |
frmForm.tmrRecord.Enabled = True | |
End Sub | |
| |
| |
| |
Sub Command1_Click() | Aufnahme der Mausbewegung. |
Record | |
End Sub | |
| |
Sub Command2_Click() | Wiedergabe der Mausbewegung. |
Play | |
End Sub | |
| |
Sub tmrRecord_Timer() | |
Static r As Integer | |
If Command1.Caption = "Stop" Then | Mausbewegungen aufnehmen. |
i = i + 1 | |
ReDim Preserve MouseRecorder(i) | |
GetCursorPos MouseRecorder(i) | |
Me.Caption = "Aufnahme läuft ..." | |
Else | Mausbewegungen abspielen. |
Me.Caption = "Wiedergabe läuft ..." | |
r = r + 1 | |
If r <= i Then | |
SetCursorPos MouseRecorder(r).X, MouseRecorder(r).Y | Position setzen. |
Else | |
Me.Caption = "Wiedergabe beendet" | |
Erase MouseRecorder | Recorder löschen. |
r = 0 | |
tmrRecord.Enabled = False | |
Command2.Enabled = False | |
Command1.Enabled = True | |
Command1.Caption = "Record" | |
End If | |
End If | |
End Sub | |
| |