Forum: PC Hard- und Software Maustaste Zeitintervall


von Klicker (Gast)


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

von D. I. (Gast)


Lesenswert?

http://download.oracle.com/javase/6/docs/api/java/awt/Robot.html

in etwa so
1
Robot robot = new Robot();
2
3
while (true)
4
{
5
    robot.mousePress(InputEvent.BUTTON1_MASK);
6
    robot.delay(20);
7
    robot.mouseRelease(InputEvent.BUTTON1_MASK);
8
    robot.delay(30000);
9
}

von Klicker (Gast)


Lesenswert?

Wenn Du mir noch sagst, wo ich das eingebe und wie ich das starte?

Ist mir komplett neu.

von engelmarkus (Gast)


Lesenswert?

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

von Silvan K. (silvan) Benutzerseite


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 ;-)

von Christian R. (supachris)


Lesenswert?

EventGhost kann sowas auch.

von Vlad T. (vlad_tepesch)


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.

von Timmo H. (masterfx)


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:
1
#define BTM_ID 1234 //hier die Control-ID einsetzen
2
HWND proc1, button;
3
4
proc1 = FindWindow(NULL,"Ich bin der Fenstertitel");
5
button = GetDlgItem(proc1,BTN_ID);
6
7
while(1){
8
   PostMessage(button, WM_KEYDOWN, 0x20, 0);
9
   PostMessage(button, WM_KEYUP, 0x20, 0);
10
   Sleep(30000);
11
}
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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.