Ciao a tutti,
ho catturato le coordinate del mouse relative al punto dove si trova quando clicco, vorrei che quando premo un pulsante, il mouse si posizioni e clicchi fisicamente sulle coordinate da me prima catturate.
grazie anticipatamente![]()
Ciao a tutti,
ho catturato le coordinate del mouse relative al punto dove si trova quando clicco, vorrei che quando premo un pulsante, il mouse si posizioni e clicchi fisicamente sulle coordinate da me prima catturate.
grazie anticipatamente![]()
Prova a vedere se questo ti aiuta. L'esempio è per VB.NET, ma dovresti convertirlo facilmente in vb6. Spiega solo come usare l'API GetAsyncKeyState della user32.dll.
Le vie del Signore sono infinite. È la segnaletica che lascia a desiderare.
La luce viaggia più veloce del suono. Per questo alcune persone sembrano brillanti finchè non parlano.
Occhio per occhio uguale... occhio al quadrato
Questa API non centra niente..Originariamente inviato da ShaleN
Prova a vedere se questo ti aiuta. L'esempio è per VB.NET, ma dovresti convertirlo facilmente in vb6. Spiega solo come usare l'API GetAsyncKeyState della user32.dll.![]()
Devi utilizzare l' API mouse_event, con la quale puoi simulare il click dei pulsanti del mouse, la cui documentazione puoi trovarla su MSDN.
La GetAsyncKeyState serve per verificare la pressione dei tasti della tastiera..
Ciao![]()
Chiedo umilmente scusa: ho invertito GetAsyncKeyState con mouse_event (che comunque era spiegata nell'articolo).Originariamente inviato da MdE2005
La GetAsyncKeyState serve per verificare la pressione dei tasti della tastiera..![]()
Le vie del Signore sono infinite. È la segnaletica che lascia a desiderare.
La luce viaggia più veloce del suono. Per questo alcune persone sembrano brillanti finchè non parlano.
Occhio per occhio uguale... occhio al quadrato
Tranquillo..capita a tutti: certe volte confondo Windows con sistemi *BSD, C con C++, VB6 con VB.NETOriginariamente inviato da ShaleN
Chiedo umilmente scusa: ho invertito GetAsyncKeyState con mouse_event (che comunque era spiegata nell'articolo).![]()
![]()
Ciao![]()
ciao android89
per spostare il cursore del mouse e fare click, in modo visibile,
puoi utilizzare questa API di windows per VisualBasic6
codice:Da inserire in TESTA alla FORM delle funzioni mouse, o in MODULE Public Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long Public Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal dwDate As Long, ByVal dwExtraInfo As Long) Public Type POINT_TYPE X As Long Y As Long End Typecodice:Da inserire nella funzione che intercetta, sposta e esegue il mouse Dim X, Y Dim P As POINT_TYPE X = GetCursorPos(P) 'estrae la posizione attuale del mouse rem inserisci la nuova posizione del mouse X = InputBox("inserire valore X del mouse; corrente:" + Str(P.X), "VALORE NUMERICO X MOUSE") Y = InputBox("inserire valore Y del mouse; corrente:" + Str(P.Y), "VALORE NUMERICO Y MOUSE") rem posizione il mouse nella nuova posizione SetCursorPos X, Y Rem simulazione click mouse (sinistra centro destra) mouse_event &H2 Or &H4, 0, 0, 0, 0 'vbkeylbutton mouse_event &H20 Or &H40, 0, 0, 0, 0 'vbkeymbutton mouse_event &H8 Or &H10, 0, 0, 0, 0 'vbkeyrbutton
Spero di esserti stato utile, per spostare il mouse e simulare il CLICK
Al posto di X,Y puoi inserire i valori, numerici, delle nuove coordinate per il mouse
Originariamente inviato da tuono_2000
ciao android89
per spostare il cursore del mouse e fare click, in modo visibile,
puoi utilizzare questa API di windows per VisualBasic6
codice:Da inserire in TESTA alla FORM delle funzioni mouse, o in MODULE Public Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long Public Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal dwDate As Long, ByVal dwExtraInfo As Long) Public Type POINT_TYPE X As Long Y As Long End Typecodice:Da inserire nella funzione che intercetta, sposta e esegue il mouse Dim X, Y Dim P As POINT_TYPE X = GetCursorPos(P) 'estrae la posizione attuale del mouse rem inserisci la nuova posizione del mouse X = InputBox("inserire valore X del mouse; corrente:" + Str(P.X), "VALORE NUMERICO X MOUSE") Y = InputBox("inserire valore Y del mouse; corrente:" + Str(P.Y), "VALORE NUMERICO Y MOUSE") rem posizione il mouse nella nuova posizione SetCursorPos X, Y Rem simulazione click mouse (sinistra centro destra) mouse_event &H2 Or &H4, 0, 0, 0, 0 'vbkeylbutton mouse_event &H20 Or &H40, 0, 0, 0, 0 'vbkeymbutton mouse_event &H8 Or &H10, 0, 0, 0, 0 'vbkeyrbutton
Spero di esserti stato utile, per spostare il mouse e simulare il CLICK
Al posto di X,Y puoi inserire i valori, numerici, delle nuove coordinate per il mouse
Ciao tuono, ho inserito nel modulo del progetto le dichiarazioni ecc come hai detto tu,
poi ho inserito il resto dentro l'evento click di un pulsante ma mi da un erroe:
l'errore che da è il seguente :" tipo non corrispondente per l'argomento byref" e si posiziona sulla p che ho colorato di arancione...codice:Private Sub Command3_Click() Dim X, Y Dim P As POINT_TYPE X = GetCursorPos(P ) 'estrae la posizione attuale del mouse Rem inserisci la nuova posizione del mouse X = InputBox("inserire valore X del mouse; corrente:" + Str(P.X), "VALORE NUMERICO X MOUSE") Y = InputBox("inserire valore Y del mouse; corrente:" + Str(P.Y), "VALORE NUMERICO Y MOUSE") Rem posizione il mouse nella nuova posizione SetCursorPos X, Y Rem simulazione click mouse (sinistra centro destra) mouse_event &H2 Or &H4, 0, 0, 0, 0 'vbkeylbutton mouse_event &H20 Or &H40, 0, 0, 0, 0 'vbkeymbutton mouse_event &H8 Or &H10, 0, 0, 0, 0 'vbkeyrbutton End Sub
ciao android89
crea, nel tuo Progetto, un "contenitore" MODULE
e inserisci SOLO il primo pezzo del codice
poi nella tua FORM ma all'interno della "funzione di intercettazione"
inserisci SOLO il secondo pezzo.
L'errore che indichi è che non hai fatto il
MODULE con il Public Type POINT_TYPE
![]()
![]()
![]()
Ciao ragazzi con il seguente codice vb mi resituisce l'errore e non capisco cosa non gli piace![]()
nell modulo ho inserito questo.codice:Private Sub Command3_Click() rapx = Form3.Width / VidWidth rapy = Form3.Height / VidHeight stringa = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" stringa = stringa & "C:\Users\ale\Desktop\db\mappatura.mdb" Set cn = New adodb.Connection Set rs = New adodb.Recordset cn.Open stringa rs.Open "SELECT * FROM coordinate ", cn, 1 num = rs("Numero") cx = rs("x") cy = rs("y") While rs.EOF = False i = 1 Timer1.Interval = 0 GetCursorPos pp SetCursorPos pp.X, pp.Y pp.X = rs("x") / rapx + 7 pp.Y = rs("y") / rapx + 28 SetCursorPos pp.X, pp.Y DoEvents mouse_event MOUSEEVENTF_LEFTDOWN, 0&, 0&, longA, extrainfo mouse_event MOUSEEVENTF_LEFTUP, 0&, 0&, longA, extrainfo rs.MoveNext For i = 1 To 65500 Timer1.Interval = i Next Wend ens sub
grazie in anticipocodice:Public Declare Function mouse_event Lib "user32" (ByVal dwFlags As Long, _ ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long) Const MOUSEEVENTF_LEFTDOWN = &H2 Const MOUSEEVENTF_LEFTUP = &H4
ciao android89
da quello che ho capito del tuo errore
dipende da cosa metti nella variabili da te inventare: longA, extrainfo
per funzionare devo essere entrambi a ZERO
e la variabile MOUSEEVENTF_LEFTDOWN che valore ha dei TRE possibili?
scusa se ti rispondo dopo MOLTO tempo.