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
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 | } |
Wenn Du mir noch sagst, wo ich das eingebe und wie ich das starte? Ist mir komplett neu.
Schau mal hier: http://www.autoitscript.com/site/ Mit AutoIt kann man solche Sachen automatisieren, du musst dich aber etwas einarbeiten.
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 ;-)
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.