Newsgroup: it.comp.lang.visual-basic
Titolo: -> simulare un click

e' possibile in qualche modo simulare il click del mouse?
Ad esempio x spostare il puntatore so che si deve usare la funzione API 
"SetCursorPos",ma vorrei anche che in quel determinato punto venisse 
inviato un click,proprio come se stessi premento il pulsante del mouse.
Mi interesserebbe in modo particolare simulare il click col tasto destro.
Si puo' fare?
-- 
Posted from [194.153.73.220] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

> e' possibile in qualche modo simulare il click del mouse?
Vedi la funzione mouse_event()
(User32)

,

se non chiedo troppo,vorrei uno stralcio di codice come esempio.
Sent via Deja.com
http://www.deja.com/

> se non chiedo troppo,vorrei uno stralcio di codice come esempio.
Dov'è che non ti trovi ?


se io voglio simulare il clic destro cosa devo digitare?
Chiedo un semplice sempio su come impostare i paremetri?
Non mi sembra tanto difficile!!


 Non mi sembra tanto difficile!!
visto che non è tanto difficile : ARRANGIATI !

,

che arroganza


 > visto che non è tanto difficile : ARRANGIATI !
Meglio arrogante che ignorante.
Ne sei poi uscito dal tunnel del click ?
Prova ad essere un po' più rispettoso e riverente verso le persone che ti
prestano aiuto gratuitamente ... e prima  ancora ... impara a scrivere in
modo comprensibile ...
Se invece hai meno di 14 anni (come immagino) ... ti chiedo scusa per tutto
quello che ho scritto ...
    Davide

 Non mi sembra tanto difficile!!
Quindi quello che vuoi è la pappa pronta, vero ?
Ti accontento, visto che avevo imprudentemente risposto
(i pappaprontisti non mi piacciono; non contare in altre mie
risposte se mantieni questa andatura).
Ammettiamo che tu voglia simulare la pressione del tasto sinistro
(ho scritto sinistro) su un controllo presente in un form (Form1).
Diciamo che il controllo è un CommandButton, di nome Command1.
La prima cosa da fare è spostare il mouse sul controllo. La posizione
del controllo è da considerare assoluta rispetto a [Screen]; le
coordinate relative non sono ovviamente utili. Per ottenere le
coordinate di un controllo/oggetto si può usare la funzione
ClientToScreen() - le dichiarazioni le trovi nell'API Text Viewer.
Dim lpPoint As POINTAPI
Dim lngRet As Long
   lngRet = ClientToScreen(Form1.Command1.hWnd, lpPoint)
A questo punto lpPoint contiene le coordinate del controllo Command1,
espresse in pixel. Capita che la funzione mouse_event consideri invece
coordinate normalizzate, ossia indipendenti dalla risoluzione dello
schermo. Il vertice superiore sx è dato da (0, 0), il vertice inferiore
dx da (65535, 65535).
Occorre quindi trasformare le coordinate in pixel in coordinate
normalizzate. Il fattore di conversione è dato da:
   With Screen
       lpPoint.x = lpPoint.x * (65535 / (.Width / .TwipsPerPixelX))
       lpPoint.y = lpPoint.y * (65535 / (.Height / .TwipsPerPixelY))
   End With
Adesso lpPoint contiene coordinate normalizzate relative al controllo.
Non resta che spostare il mouse, considerando la definizione assoluta
della coordinata normalizzata (non relativa all'ultimo spostamento).
   Call mouse_event( _
          MOUSEEVENTF_ABSOLUTE Or _
          MOUSEEVENTF_MOVE, _
          lpPoint.x + 100, _
          lpPoint.y + 100, _
          0&, _
          0&)
Quindi si genera il click sinistro:
   Call mouse_event( _
          MOUSEEVENTF_LEFTDOWN Or _
          MOUSEEVENTF_LEFTUP, _
          0, _
          0, _
          0&, _
          0&)
Se adesso vuoi generare un qualunque altro evento, non fai altro che
combinare i vari flag, tutti elencati secondo il prefisso MOUSEEVENTF_*.

Sei troppo buono Jimi
Il bambino non si meritava  risposta da nessuno !
    Ciao    (a Jimi)


va bene.
1. Allora io voglio simulare il clic destro
2. Ho inserito nel modulo l'apposita dichiarazione (Declare
Function....)
A questo punto vorrei che mi indicaste i valori da sostituire al posto
dei parametri, con un EXTRA-SUPER-SPEMPLICISSIMO esempio di questo tipo:
mouse_event 1,0,0,1,2,4
Chiedo troppo??????????????


,



 Il bambino non si meritava  risposta da nessuno !
Non sono buono. Il suo "stile" si commenta da solo e lo qualifica.
La risposta viene direttamente dalle FAQ in costruzione, quindi
è parte un "oggetto" che deve essere utile a tutti. Anche a lui.
Ciao

,

innanzitutto prova ad indovinare la mia eta',e quindi abbi + rispetto
(anche dei bambini veri).
Poi non capisco xche' non merito risposte,visto che a volte si risponde
a articoli OT o altre boiate e banalita'.
Io credo di aver fatto una domanda normale,tenendo presente che non a
disposizione nessuna guida in linea,poi se tu o altri la interpetate
diversamente,affari vostri,non ho tempo da perdere con dei mocciosi


,

:-O !?!22!??123


 wrote in message 91q2q0$ms6$1...@nnrp1.deja.com...


 Giulio
eh gia', la genetica e' una branca difficilissima delle scienze disumane, o
scienze inumane che dir si voglia (non saprei come chiamare quelle che non
sono considerate "scienze umane"...).

 di prendere a calci il PC, bisogna avere pazienza... Con i geni...
GIUSTO, e che diamine!!
Trovono sempre il modo x farti sentire in colpa.
Si fanno tanto i geni senza saper rispondere una misera domanda come la
mia.
E se avessi chiesto qualcosa di piu complesso,cosa avrebbero scritto?
Un'eniclopedia!!



Adesso che hai avuto le tue risposte perchè non la pianti.
Non credi che sia ora di crescere ?   Qui nessuno è un genio (anche se Jimi
mi fa venire il dubbio) tantomeno non siamo qui per aiutare un maleducato
come te.
Mi sa che ti conviene cambiare Nick perchè sarà difficile che qualcuno
perderà ancora tempo con te

 ha scritto

l'ha gia' fatto, abbreviando.
ma anche nel caso, il subject con "->" e' stabile nel tempo...

 perderà ancora tempo con te
1. fino adesso mi hanno sempre apprezzato.
2. cambiare nick e da vigliacchi
