So lösen Sie die AHK-Funktionalität aus

705
Lolo Jones

Ich bin neu in AHK-Skripten und möchte gerne #n (Windows-Taste + n) drücken und eine Reihe von Tastenkombinationen auslösen (Umschalt + Ende, Alt + Tab, ^ T, ^ V, Enter, Tab, jedes Mal, wenn ich das drücke.

Dies ist soweit, wie ich es bekommen habe, aber egal wie viel ich online darüber gelesen habe, ich habe das Gefühl, ich brauche etwas zusätzliche Hilfe (Proben da draußen sind in der Regel sehr komplex).

(Bearbeiteter Schlusscode, der dank Robert Ilbrink für mich funktioniert hat, eine geringfügige Abänderung seines Vorschlags)

#SingleInstance Force #installKeybdHook #Persistent SetTitleMatchMode, 2 #IfWinActive, Word ; #n will only trigger when working inside Word. #n:: ; [Win]+n trigger key ClipBoard = ; Clear ClipBoard Send, + ; [Shift]+[End] Send, ^c ; Store selected text in ClipBoard Sleep, 100 ; ClipWait seems unreliable WinActivate, ahk_class Chrome_WidgetWin_1 Send, ^t ; In my Chrome setup I immediately get a Google search page. Send, ^v; Send, ; Sleep, 1000 ; Send, ; ;SoundBeep, 500, 500 Return #IfWinActive 
0
Lolo, was willst du? Erstellen Sie eine neue Registerkarte in Chrom? Ich bin nicht sicher, warum Sie mehrere LShift- und RCtrl-Befehle senden. Sie versuchen, den Fokus auf eine neue Chrome-Registerkarte zu legen, aber wie können Sie sicher sein, dass diese neue Chrome-Registerkarte vorhanden ist (Sie könnten #n in Notepad ausführen, und es würde nichts Nützliches passieren) .. Was suchen Sie danach? Robert Ilbrink vor 11 Jahren 0
OK, ich werde klarstellen: Ich überprüfe ständig einige Wortdateien. Von Zeit zu Zeit muss ich eine Zeile kopieren (Umschalttaste + Ende), den Alt-Tab (Ich werde immer Chrome als nächstes haben, um zu wort), einen neuen Tab öffnen, den kopierten String einfügen, in Google suchen, Tab + Enter zum Öffnen erstes Ergebnis Ich habe RSI und die Automatisierung dieses Prozesses, den ich buchstäblich hunderte Male am Tag durchführe, wird meinem Zustand helfen. Lolo Jones vor 11 Jahren 0

1 Antwort auf die Frage

0
Robert Ilbrink

Lolo, ich werde es versuchen, aber ich bin immer noch verwirrt.

#SingleInstance Force #installKeybdHook #Persistent SetTitleMatchMode, 2 #IfWinActive, Word ; #n will only trigger when working inside Word. #n:: ; [Win]+n trigger key ClipBoard = ; Clear ClipBoard Send, + ; [Shift]+[End] Send, ^c ; Store selected text in ClipBoard Sleep, 100 ; ClipWait seems unreliable WinActivate, ahk_class Chrome_WidgetWin_1 Send, ^t ; In my Chrome setup I immediately get a Google search page. WinWaitActive, Google - Google Chrome ; Wait for Google search Page Send, %ClipBoard% ; Send ClipBoard Text to Google WinWaitActive, %ClipBoard% ; Wait for window title with search string Send,  SoundBeep, 500, 500 Return #IfWinActive 

Die Kombination Tab + Enter wurde hinzugefügt. Dies funktioniert NICHT auf meinem Rechner, da Tab zur schwarzen Google+ Menüleiste springt.

Dies wird nicht bei einem Tastendruck ausgelöst. Bob vor 11 Jahren 0
Ich schreibe noch, noch nicht fertig .... Robert Ilbrink vor 11 Jahren 0
Die Tastenkombination besteht aus dem Drücken der Tabulatortaste und der Eingabetaste. Auf der Registerkarte wird das erste Ergebnis ausgewählt. Mit enter wird darauf zugegriffen (all dies, sobald die Google-Suche durchgeführt wurde). Lolo Jones vor 11 Jahren 0
Irgendwie scheint der Tastenanschlag erst nach dem AHK-Betrieb zu funktionieren, nicht danach. ZB betreibe ich die AHK, drücke den Tastendruck und es funktioniert nur einmal. Danach muss ich die AHK erneut laufen lassen. Es konzentriert sich auch auf die Chrom-Adressleiste, fügt jedoch das Kopierte nicht ein. Es wurde versucht, ein "Senden, ^ v" hinzuzufügen, aber es funktioniert nicht (wenn ich manuell ^ v drücke, wird die rechte Zwischenablage eingefügt - also ist das Kopieren kein Problem). Lolo Jones vor 11 Jahren 0
Ist Ahk noch in der Taskleiste aktiv? Denken Sie daran, dass [Win] + n NUR in Word ausgelöst wird! Robert Ilbrink vor 11 Jahren 0
Ja, AHK ist immer noch im Systray aktiv (Ich drücke #n in Word) Lolo Jones vor 11 Jahren 0
Aber es reagiert nicht mehr auf [Win] + n, wenn es sich in Word befindet? Robert Ilbrink vor 11 Jahren 0
Ich teste das auf meinem Rechner, schrieb alles aus dem Gedächtnis, nicht getestet. Robert Ilbrink vor 11 Jahren 0
Genau. Manchmal wechselt es auch nicht zu Chrom (Alt + Tab wird nach dem Schlaf nicht gesendet oder so?) Lolo Jones vor 11 Jahren 0
OK, Versuchen Sie es erneut, es war ein #IfWinActive anstelle von WinWaitActive. In Bezug auf [Alt] + [Tab] habe ich deshalb die Alternative [Alt] + [Esc] eingefügt, die oft besser zu funktionieren scheint. O Ich könnte einfach Chrome aktivieren, egal was! Robert Ilbrink vor 11 Jahren 0
Frage bearbeitet, mit dem angegebenen Code gelange ich zu den Ergebnissen. Ein Problem bleibt: #n Sie können #n mehr als einmal im Skript in Word aufrufen. Lolo Jones vor 11 Jahren 0
@LoloJones, Einige Änderungen vorgenommen und auf meinem System getestet. Scheint jetzt zu arbeiten! Robert Ilbrink vor 11 Jahren 0
Das Skript hing und wartete auf das Ergebnis der Suche. Das sollte jetzt gelöst werden. Robert Ilbrink vor 11 Jahren 0
Toll, es hat funktioniert !!!! Die einzige Änderung, die ich vornehmen musste, ist das Ersetzen der drei Zeilen zwischen dem Senden ^ t und dem Senden-Tab für Senden ^ v und Senden, und das winwait und das Senden der Zwischenablage scheinen in meinem Terminal nicht zu funktionieren :). Trotzdem vielen Dank, du hast meinen Tag gemacht! Lolo Jones vor 11 Jahren 0
Toll, ich hoffe, Sie haben aus der Übung gelernt, in Zukunft selbst Skripte zu erstellen. Robert Ilbrink vor 11 Jahren 0
Ganz sicher. Eine letzte Frage ist: Wie haben Sie das Problem gelöst, wenn das Skript hängt? Lolo Jones vor 11 Jahren 0
Da ich [Tab] + [Enter] am Ende nicht verwenden konnte, ersetzte ich es kurz durch SoundBeep, 500, 500, und bemerkte, dass das System endgültig wartete und nie piepte. Also habe ich WinWaitActive so geändert, dass nur nach der Suchzeichenfolge gesucht wird und nicht nach dem Rest des Windows-Titels. Solange es wartete, konnte es den nächsten Befehl nicht ausführen. Robert Ilbrink vor 11 Jahren 0