AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mausklick global simulieren

Ein Thema von the_seed · begonnen am 13. Aug 2004 · letzter Beitrag vom 14. Aug 2004
Antwort Antwort
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#1

Re: Mausklick global simulieren

  Alt 13. Aug 2004, 18:19
Ich habe mal einen C++-Code geschrieben, wo ich SendInput verwende (rauf und runter von linker und rechter maustaste).
Es ist nicht besonders einfach weil man ein kompliziertes Array füllen muss.
Hier der original-Code mit globalen Arrays zur Performancesteigerung:
Code:
#include <windows.h>
#include <winable.h> // bin mir nicht sicher ob man winable wirklich braucht oder ob das für etwas anderes war...ausprobieren...
INPUT runter,rauf, rechtsrunter, rechtsrauf; // mit runter und rauf ist die linke maustaste gemeint

void ldown(void); // linke maustaste runter
void lup(void); // linke maustaste rauf
void rdown(void); // rechte maustaste runter
void rup(void); // rechte maustaste rauf

...
...
...

// Beim Programmstart die Arrays mit Werten füllen:
   runter.mi.dx=0;
   runter.mi.dy=0;
   runter.mi.mouseData=0;
   runter.mi.dwFlags=MOUSEEVENTF_LEFTDOWN;
   runter.mi.dwExtraInfo=0;
   runter.mi.time=0;
   rauf.mi.dx=0;
   rauf.mi.dy=0;
   rauf.mi.mouseData=0;
   rauf.mi.dwFlags=MOUSEEVENTF_LEFTUP;
   rauf.mi.dwExtraInfo=0;
   rauf.mi.time=0;
   rechtsrunter.mi.dx=0;
   rechtsrunter.mi.dy=0;
   rechtsrunter.mi.mouseData=0;
   rechtsrunter.mi.dwFlags=MOUSEEVENTF_RIGHTDOWN;
   rechtsrunter.mi.dwExtraInfo=0;
   rechtsrunter.mi.time=0;
   rechtsrauf.mi.dx=0;
   rechtsrauf.mi.dy=0;
   rechtsrauf.mi.mouseData=0;
   rechtsrauf.mi.dwFlags=MOUSEEVENTF_RIGHTUP;
   rechtsrauf.mi.dwExtraInfo=0;
   rechtsrauf.mi.time=0;

...
...
...


// Da die Arrays bereits gefüllt sind, brauchen wir nur noch funktionen die SendInput aufrufen:

void ldown(void) // maustaste runter
{
   SendInput(1,&runter,sizeof(runter));
}

void lup(void) // maustaste rauf
{
   SendInput(1,&rauf,sizeof(rauf));
}

void rdown(void) // rechte maustaste runter
{
   SendInput(1,&rechtsrauf,sizeof(rechtsrauf));
}

void rup(void) // rechte maustaste rauf
{
   SendInput(1,&rechtsrunter,sizeof(rechtsrunter));
}
Getestet mit Visual C++ 6.0 Autorenversion.

Habe leider keine Zeit, den Code in Delphi zu übersetzen.
Dürfte nicht besonders schwer sein, vielleicht kann das ja ein anderer machen...oder ich ein wenig später...

Wenn du z.B. einen linken Mausklick simulieren willst, musst du nacheinander ldown und lup aufrufen.

Tubos
Lukas
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz