Oppure

Loading
28/08/10 18:07
MagoDelC++
salve a tutti ragazzi... allora vi mostro subito il mio problema e prima di chiedere ci ho provato in 102 modi diversi ma visual studio ce l'ha con me e non funziona anche quando è giusto.. va bè il problema è questo praticamente io registro gli eventi del mouse clik sinistro clik destro ecc.. è fin qui va bene il problema è il drag e non ho la minima idea di come "registrare" un drag..

io il clik destro lo registro cosi:
  private const int VK_LBUTTON = 0x1;
 short keyState0 = GetAsyncKeyState(VK_LBUTTON);

  if (keyState0 == 1 || keyState0 == -32767 || keyState0 == -32768)
                {
                    mousesin[a] = 1;
                    System.Threading.Thread.Sleep(50);
                }

dove keystate0==1 ==-32767 sono il clik singolo mentre keystate diventa -32768 quando c'e un drag

e lo riproduco cosi:
                  if (mousesin[a] == 1)
                   { mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, mousex[a], mousey[a], 0, 0); }


ho provato svariati metodi ma non ne funziona 1!! cioè tipo tieni schiacciato per tutta la durata degli 1 per esempio e nn va... ho provato anche funzioni del c# e non vanno non so prorpio come fare ditemi un metodo logico oppure una funzione se ne sapete per favore!
grazie mille!
:k:

aaa
29/08/10 8:50
Thejuster
Credo che vada messo in un ciclo continuo,
perchè il valore di quella variabile cambia rapidamente.

cmq guardo il tuo codice che e completamente sbagliato.
nel senso non vedo una logica nel tuo codice.

se il keystate e 1 oppure in drag, mousesin[a] = 1;

mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, mousex[a], mousey[a], 0, 0);

fai eseguire un click sempre su cordinata x(1) y(1) ?

(ammesso che avvenga)




mire.forumfree.it/ - Mire Engine
C# UI Designer
29/08/10 10:01
Il Totem
Hai provato in ogni modo, tranne in quello corretto XD
totemslair.org/guide/…
Il Drag&Drop è una meccanica supportata comunemente dal framework .NET, non c'è bisogno di simulare o inventare niente.
aaa
30/08/10 7:41
MagoDelC++
ciao Totem grazie per la risposta.... sarà la 1000 volta che provi ad aiutarmi! :P
anche se non ho capito come potrei utlizzare il tuo codice!
a me servirebbe più una cosa del genere:
 mouse_event(tieni premuto il tasto sinistro, mousex[a], mousey[a], 0, 0); 


Thejuster il codice funziona probabilmente non hai visto che il mouse non fa clik su coordinata 1 1 perchè l'array per le coordinate e diverso da quello che registra l'1! :)
aaa