mikrocontroller.net

Forum: PC Hard- und Software Maustaste Zeitintervall


Autor: Klicker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Ich suche eine Software, in der ich einen Maustasten Druck simulieren 
kann.

Es geht um eine Digicamsteuerung, die mir alle 30sec ein Bild aufnimmt.
(Canon EOS Utility)
Dort kann ich ein Foto machen, wenn ich mit der linken Maustaste auf 
einen bestimmten Button drücke.

Die Aktion würde ich gern ausführen lassen.
So mehrere Stunden lang immer nach 30sec(oder einstellbar) einen 
Tastenklick.

Gibts so eine Software?

mfg

Autor: D. I. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://download.oracle.com/javase/6/docs/api/java/...

in etwa so
Robot robot = new Robot();

while (true)
{
    robot.mousePress(InputEvent.BUTTON1_MASK);
    robot.delay(20);
    robot.mouseRelease(InputEvent.BUTTON1_MASK);
    robot.delay(30000);
}

Autor: Klicker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du mir noch sagst, wo ich das eingebe und wie ich das starte?

Ist mir komplett neu.

Autor: engelmarkus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal hier: http://www.autoitscript.com/site/
Mit AutoIt kann man solche Sachen automatisieren, du musst dich aber 
etwas einarbeiten.

Autor: Silvan König (silvan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
engelmarkus schrieb:
> Mit AutoIt kann man solche Sachen automatisieren, du musst dich aber
> etwas einarbeiten.

Alternative wäre AutoHotkey. Da musst du dich aber auch einarbeiten ;-)

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
EventGhost kann sowas auch.

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mach einen Screenshot des Fensters ([alt]+[Druck])
schau die die Koordinaten des Buttons an.
Such dir mit einem Window-Inspector die Fensterkllasse der Anwendung 
heraus

schicke dem Fenster ein emuliertes Mouseevent.

HWND zielfenster = FindWindow(ermittelterClassname, 0);

if( zielfenster )
{
  while(true)
  {
    PostMessage(zielfenster, WM_LBUTTONDOWN, 0, (zielY<<16) | zielx);
    PostMessage(zielfenster, WM_LBUTTONUP,   0, (zielY<<16) | zielx);
    Sleep(30000);
  };
}

Kann aber sein, das das nur bei nativen Windowsanwendungen funtkioniert 
(kein .Net, kein Java)

das while sollte natürlich am besten durch einen Timer ersetzt werden, 
da sonst die Anwendung nicht mehr bedienbar ist, und am ende durch den 
Taskmanager beendet werden muss.

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So hätte ich es jetzt auch etwa gemacht.
Ich mache ständig sowas.
Einfach Anwendung starten und dann z.B. mit WinSpy die Control-ID des 
Buttons anzeigen lassen. Und dann sowas in der Art:
#define BTM_ID 1234 //hier die Control-ID einsetzen
HWND proc1, button;

proc1 = FindWindow(NULL,"Ich bin der Fenstertitel");
button = GetDlgItem(proc1,BTN_ID);

while(1){
   PostMessage(button, WM_KEYDOWN, 0x20, 0);
   PostMessage(button, WM_KEYUP, 0x20, 0);
   Sleep(30000);
}
Oder eben WM_LBUTTONDOWN etc. kommt drauf an.

Oder du baust dir einfach meinen MutliTrigger nach: 
http://www.dslr-forum.de/showthread.php?t=811413
:D

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.