Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    4

    [VB 2010] Click del mouse su coordinate specifiche

    Salve a tutti, sto cercando di creare un programma con Visual Basic 2010 Expres il quale dovrebbe avere anche la funzione di clickare su delle precise coordinate precedentemente salvate dal utente che userà il programma.
    Unico problema non riesco a farli fare quel benedetto Click, ho provato anche con soluzioni proposte ad altri utenti di internet in vari siti ma i pochi che sono stati coerenti ed capaci di spiegarsi alla fine non hanno portato lo stesso a niente

    Potreste aiutarmi? Se puo essere d'aiuto io voglio che il programma clicki su delle coordinate salvate in variabili X e Y, non so se magari cambia lo script che devo scrivere in tal caso...

  2. #2
    Devi usare delle API di Windows.

    La più "semplice" da usare, ma che comunque funzione senza problemi anche se Microsoft la dichiara "obsoleta", è Mouse_Event:

    http://www.pinvoke.net/default.aspx/...use_event.html

    Una riga per MouseDown e una riga per MouseUp (vedi esempio in C#).

    Personalmente trovo che funzioni meglio posizionare PRIMA il cursore con Cursor.Position = New Point(x,y) e mettere 0 e 0 come coordinate dX e dY (come nell' esempio in C#, insomma).
    .
    Ultima modifica di eziogsv; 07-05-2014 a 01:28

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    4
    Con "Cursor.Position = New Point(x, y)" pero devo mettere valori numerici come 0 0 o no? Perchè io vorrei usare delle variabili

    Ok ho risolto con il codice seguente al inizio del Form:

    codice:
        Public Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwFlags As Integer, ByVal dx As Integer, ByVal dy As Integer, ByVal cButtons As Integer, ByVal dwExtraInfo As Integer)
    
        Public Const LEFTDOWN As Short = &H2
        Public Const LEFTUP As Short = &H4
        Public Const MIDDLEDOWN As Short = &H20
        Public Const MIDDLEUP As Short = &H40
        Public Const RIGHTDOWN As Short = &H8
        Public Const RIGHTUP As Short = &H10
    E poi in un Sub Button_Click il seguente:
    codice:
            Cursor.Position = New Point(X1, Y1)
            mouse_event(LEFTDOWN, 0, 0, 0, 0)
            mouse_event(LEFTUP, 0, 0, 0, 0)
    X1 e Y1 sono variabili.
    Ultima modifica di zallan; 08-05-2014 a 20:49

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Perché x e y cosa sono?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    4
    Ragazzi ormai chiedo qui spero vada bene, per finire il tutto mi manca soltanto la possibilità di fare una pausa tra un click e l'altro. Una cosa tipo:

    Click cordinate X Y
    Pausa 5 secondi
    Click cordinate X Y
    Pausa 5 secondi

    e cosi via insomma xD Avevo provato con il Timer ma ovviamente crea una Sub a se e quindi non posso usarla in modo efficente :/

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    4
    Grazie mille del aiuto ragazzi

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.