Ciao a tutti, per diletto e per imparare le tecniche di Vb .net, sto scrivendo vari programmi (sono un vecchio privato cittadino, niente di serio e commerciale) tra cui uno con cui vorrei interagire con una finestra di un browser e vedere se riesco, inviando istruzioni al processe, a muovere il mouse, catturare lo schermo etc. Tramite le API ho ottenuto l'handle della finestra che mi interessa e sono alla fase "parlaci" ma l'istruzione sottoriportata (la GetWindowRect) non mi ritorna nulla. Ho letto da qualche parte che ci possono essere dei problemi di permessi spedendo msg ai processi e che una possibile soluzione era lanciare il programma che vuole controllare il processo da una locazione "trusted" come c:\Program Files e così ho fatto, tra l'altro lanciando il prg come amministratore. Ma ancora nulla. Qualcuno mi può aiutare in questo senso? E' anche un argomento interessente per molti io credo.
Public Sub MoveMouseToProcessWindow(handletavolo As IntPtr, x As Integer, y As Integer)
Dim rect As New NativeMethods.RECT()
NativeMethods.GetWindowRect(handletavolo, rect)
If Not NativeMethods.GetWindowRect(handletavolo, rect) Then MessageBox.Show("GetWindowRect in move mouse ha fallito.") Return End If
' Calcola la posizione assoluta del mouse Dim absoluteX As Integer = rect.Left + x Dim absoluteY As Integer = rect.Top + y
' Muovi il cursore del mouse NativeMethods.SetCursorPos(absoluteX, absoluteY)
End Sub
Ringrazio anticipatamente per l'aiuto.
|