[SOLVD] Mausklick statt Hotkey

hier bitte nur *nach* Benutzen der Boardsuche (siehe oben) posten

Moderatoren: |Gordon|, Jean, Moderatoren

Antworten
12Worteund1hallojulia
regelmäßiger Besucher
Beiträge: 20
Registriert: 25.12.07, 13:53

[SOLVD] Mausklick statt Hotkey

Beitrag von 12Worteund1hallojulia » 25.12.07, 14:18

Hallo!

Ich suche ein Tool mit dem ich einen HOTKEY: Tastenkombination STRG+S und STRG+E, auf die Maustasten legen kann.

Folgendes Problem:
Ich habe eine Software in der ich etwa alle 5 Minuten die o.g. Tastenkombinationen kicken muss!
Und das für 5 Stunden am Stück. Mit der Zeit sehr ermüdend.
Da denke ich, ist es mit einer Maus in der Hand einfacher: links klick...rechts klick.

Kann mir jemand bitte helfen? - Suche schon seit August nach solch einem Tool.

Danke!!!
Zuletzt geändert von 12Worteund1hallojulia am 25.01.08, 16:09, insgesamt 1-mal geändert.

Benutzeravatar
Kostenlos
Mitglied
Beiträge: 578
Registriert: 22.07.06, 0:55

Beitrag von Kostenlos » 25.12.07, 14:30

Stichwort Autohotkey (EFB-Suche) oder AutoIt (EFB-Suche):

Mit AutoIt ungefähr so (dann brauchst du gar nichts mehr machen) ;)

Code: Alles auswählen

While 1
Send("^s")
Send("^e")
Sleep(30000)
WEnd
Das veranlasst alle 5 Minuten (1000 (ms) * 60 * 5) die Tastenfolge. Wenn du genauere Angaben machen könntest, um was es geht, kann man bessere Scripts schreiben.

Welches Fenster (Titel, enthaltener Text) erscheint, wenn das drücken ausgelöst werden soll usw.
Liebe Grüße,
Kostenlos
-----------------------------------------------------------
Kostenlos ist nicht umsonst...

Jedes Windows-Problem lässt sich mit einem Script lösen ;)

12Worteund1hallojulia
regelmäßiger Besucher
Beiträge: 20
Registriert: 25.12.07, 13:53

Beitrag von 12Worteund1hallojulia » 25.12.07, 15:11

Danke für die schnelle Hilfe!. Aber leider treffen diese Tools nicht für mich zu.

Denn ich kann es nicht automatisieren. Bzw. ich bin auf manuellen Eingriff angewiesen.

Und um mir das Manuelle etwas zu erleichtern, für ich gern einfach die Mastasten: link und rechts, nutzen.

Denn der Laptop ist während der Arbeit nicht direkt vor mir. Und mit der Maus habe ich etwas Distanz um entspannt etwas anderes zu machen.

Was ich mache:
Muss eine Aufzeichnung in einen Messprogramm starten und beenden. Handelt sich um Seevermessung. Und da gibt es zig Profillinien die aufgezeichnet werden. Eine Profillinie ist zw. 4-5 Minuten lang. Je nach dem..daher halt leider keine Automatisierung möglich.

Bei 5-6 Stunden am Stück und alle 4-5 Minuten die Tastenkombinationen...ist schon sehr...bescheiden für die Moral. Mal abgesehen von schlechten Körperhaltung. :D

Der Laptop ist wie gesagt auch nicht direkt vor mir.


Wie gesagt: meine Vorstellung:

den Hotkey: STRG+S auf die linke Maustaste und den Hotkey: STRG+E auf die Rechte legen.

Ist sowas möglich?

Danke

Benutzeravatar
Kostenlos
Mitglied
Beiträge: 578
Registriert: 22.07.06, 0:55

Beitrag von Kostenlos » 25.12.07, 15:23

Ok dann..

... ist AutoHotkey die erste Wahl:

Code: Alles auswählen

LButton::^s
RButton::^e
Das war's schon ;)
Liebe Grüße,
Kostenlos
-----------------------------------------------------------
Kostenlos ist nicht umsonst...

Jedes Windows-Problem lässt sich mit einem Script lösen ;)

Benutzeravatar
Icfu
Mitglied
Beiträge: 1456
Registriert: 28.05.05, 3:29

Beitrag von Icfu » 25.12.07, 18:23

Code: Alles auswählen

#IfWinActive, Titelleiste von Messprogramm
LButton:: SendInput, ^s 
RButton:: SendInput, ^e
Ansonsten wird's bißchen schwer mit dem Klicken außerhalb... ;)

Icfu
Zuletzt geändert von Icfu am 25.12.07, 18:29, insgesamt 1-mal geändert.
Holy Frankenfuck! Snakes!

Benutzeravatar
Kostenlos
Mitglied
Beiträge: 578
Registriert: 22.07.06, 0:55

Beitrag von Kostenlos » 25.12.07, 18:29

Das ist richtig :)

Bin aber davon ausgegangen, dass 12Worteund1hallojulia sich sowieso noch mal meldet, wie man das denn macht. Wenn man AutoHotkey nicht kennt und nur die beiden Zeilen sieht, kann ich mir vorstellen, dass man damit nichts anfangen kann. Außerdem hat er(/sie?) nach einem Tool gefragt. Da denkt man ja eigentlich an was fertiges ;)
Liebe Grüße,
Kostenlos
-----------------------------------------------------------
Kostenlos ist nicht umsonst...

Jedes Windows-Problem lässt sich mit einem Script lösen ;)

Benutzeravatar
Icfu
Mitglied
Beiträge: 1456
Registriert: 28.05.05, 3:29

Beitrag von Icfu » 25.12.07, 18:31

Na jut. :)

Icfu
Holy Frankenfuck! Snakes!

12Worteund1hallojulia
regelmäßiger Besucher
Beiträge: 20
Registriert: 25.12.07, 13:53

Beitrag von 12Worteund1hallojulia » 26.12.07, 5:40

Danke euch beiden!
Und ja...ich hätte mich noch mal gemeldet. - Du hast recht..ich habe keinen Schimmer davon, wie ich es hätte selbst coden müssen. Speziell weil ich im hotkey-WIKI gelesen habe, man muss da den:
"Um einen Mausklick an ein Fenster zu übergeben ist es wichtig, zuerst die X und Y Koordinaten festzustellen, bei denen das Klickereignis stattfinden soll."

Mal ganz nett frag: ich hätte gern etwas fertiges!
Also..eventl. eine do-it for my, I am dummy Anleitung! *augenaufschlag :D

Vielen DANK, das ihr neben Geschenkpapier und Gänsebraten Zeit findet!!

Benutzeravatar
Kostenlos
Mitglied
Beiträge: 578
Registriert: 22.07.06, 0:55

Beitrag von Kostenlos » 26.12.07, 6:18

Aber gerne doch ;)

Lade dir zuerst AutoHotkey herunter. Wenn du nichts installieren möchtest, reicht das ZIP-Archiv. Davon gehe ich jetzt mal aus. Entpacke die ZIP-Datei in einen beliebigen Ordner.

Starte dein Messprogramm und sieh dir den Titel des Fensters an. Der Text, der immer angezeigt wird (evtl. wird bei verschiedenen geöffneten Dateien noch der Dateiname angezeigt) wird in die erste Zeile des Scripts hinter #IfWinActive, eingefügt (keine Angst, Erklärung kommt jetzt ;) ).

Starte Notepad und kopiere folgenden Inhalt in das Fenster:
Speichere die Datei unter einem beliebigen Namen mit der Endung AHK (unter Dateityp muss "Alle Dateien" ausgewählt sein, sonst wird automatisch noch die Endung TXT angehängt):

Code: Alles auswählen

#IfWinActive, Titelleiste von Messprogramm
LButton:: SendInput, ^s
RButton:: SendInput, ^e
Jetzt startest du aus dem enpackten Archiv im Ordner Compiler die "AH2K.exe". Über den Button Source wählst du dein Script aus, bei Destination gibst du den kompletten Pfad zu dem Speicherort deiner gewünschten EXE-Datei inkl. Name an. Jetzt einfach auf "Convert" klicken und du hast eine kompilierte Datei, die du einfach z. B. in den Autostartordner packen kannst. Probier aus, ob es funktioniert. Wenn alles okay ist, kannst du bis auf deine EXE eigentlich alles wieder löschen ;)

Viel Erfolg!
Liebe Grüße,
Kostenlos
-----------------------------------------------------------
Kostenlos ist nicht umsonst...

Jedes Windows-Problem lässt sich mit einem Script lösen ;)

12Worteund1hallojulia
regelmäßiger Besucher
Beiträge: 20
Registriert: 25.12.07, 13:53

Beitrag von 12Worteund1hallojulia » 26.12.07, 13:50

WOW..!!!!!

Super. Ich bin ja schon lange ein FAN von EFB. Doch jetzt selbst mal in den Genuss gekommen zu sein - perfekt!!

Das ist wahres..web2...nee. Das ist: Nett!

Danke, werde es vllt. morgen gleich im Büro ausprobieren.

12Worteund1hallojulia
regelmäßiger Besucher
Beiträge: 20
Registriert: 25.12.07, 13:53

Beitrag von 12Worteund1hallojulia » 27.12.07, 18:02

Danke!!! Klappt suuuuper!

Habe jetzt auch rausgefunden..das ich die Mittel-Maustaste sinnvoll nutzen kann. Um aus dem "Arbeitsfenster" wieder rauszukommen.
Weil sonst kann ich es ja nicht...da linke, rechte Taste belegt ist mit der Funktion!

Nachmals Danke....viele Arbeit ist mir jetzt erspart...

Benutzeravatar
Icfu
Mitglied
Beiträge: 1456
Registriert: 28.05.05, 3:29

Beitrag von Icfu » 28.12.07, 6:39

Probier's mal so, dann brauchst Du keinen Mittelklick mehr. ;)

Code: Alles auswählen

#IfWinActive, Titelleiste von Messprogramm
LButton::
MouseGetPos,,, HoveredWindow_h
If (HoveredWindow_h = WinActive("A"))
  SendInput, ^s
Else
  SendInput, {LButton}
Return

RButton::
MouseGetPos,,, HoveredWindow_h
If (HoveredWindow_h = WinActive("A"))
  SendInput, ^e
Else
  SendInput, {RButton}
Return
Icfu
Holy Frankenfuck! Snakes!

12Worteund1hallojulia
regelmäßiger Besucher
Beiträge: 20
Registriert: 25.12.07, 13:53

Beitrag von 12Worteund1hallojulia » 28.12.07, 13:21

DANKE :D

tuberant
Einsteiger
Beiträge: 5
Registriert: 15.10.07, 22:48

Beitrag von tuberant » 30.12.07, 9:45

Hallo,
da mich das selbst interessiert hat und mit Hilfe aus dem Autohotkey-Forum habe ich eine verbesserte Version für dich:

Code: Alles auswählen

CoordMode, Mouse, Screen

#IfWinActive, TITELLEISTE VON MESSPROGRAMM
LButton:: 
MouseGetPos, x, y , HoveredWindow_h 
If (HoveredWindow_h = WinActive("A") AND IsOverClientArea(x,y,HoveredWindow_h))
  SendInput, ^s
Else 
{
  Click Down
  KeyWait, LButton
  Click Up
}
Return 

RButton:: 
MouseGetPos, x, y , HoveredWindow_h 
If (HoveredWindow_h = WinActive("A") AND IsOverClientArea(x,y,HoveredWindow_h))
  SendInput, ^e
Else 
{
  Click Down
  KeyWait, RButton
  Click Up
}
Return 

; ------------------------------------------------------------------------------
IsOverClientArea(x, y, hWnd) 
{ 
   SendMessage, 0x84,, (x & 0xFFFF) | (y & 0xFFFF) << 16,, ahk_id %hWnd% 
   return (ErrorLevel == 1) 
}
Damit solltest du das Fenster nun vollkommen normal benutzen können, z.B. das Menü aber auch das Schließen per "X" oben rechts, sowie auch verändern der Fenstergröße, wenn das Fenster sich resizen lässt (achtung: genau an den Kanten fassen, der so genannte "Resize Grip", wie er z.B. bei Notepad unten rechts ist, funktioniert nicht).

=> nur, wenn du in das Fenster hinein clickst, werden deine Hotkeys abgefeuert.

lg, tuberant

Antworten