AutoHotkey: wie wird der Inhalt der Zwischenablage bei Tastendruck gesendet?

9427
RCIX

Ich mache ein Autohotkey-Skript, um hervorgehobenen Text durch einen Taschenrechner auszuführen, und ich muss den Inhalt der Zwischenablage als eine Folge von Tastendrücken senden, da der Rechner das Einfügen einer mathematischen Operation nicht wirklich unterstützt. Wie würde das gelingen?

1

4 Antworten auf die Frage

5
Ross

Sie müssen einen Befehl wie diesen verwenden, um genau das einzugeben, was sich in der Zwischenablage befindet.

^+v::SendRaw %clipboard% 

^ + v bedeutet Strg + Umschalttaste + v. Ersetzen Sie durch die gewünschte Tastenkombination. Auf dieser Seite erfahren Sie, welche Zeichen welchen Modifikatortasten zugeordnet sind.

Wenn Sie STRG und UMSCHALTTASTE loslassen, während AHK noch Tasten sendet, wird das Ereignis möglicherweise nicht ausgelöst, und Sie halten UMSCHALTTASTE und STRG-Taste gedrückt, bis Sie sie erneut drücken. Was wäre der eleganteste Weg, um das zu verhindern? Ben Philipp vor 6 Jahren 0
1
John T

Zum Zuordnen von Ctrl+ Kzum Senden von Zwischenablagedaten zum Beispiel:

^k::Send %clipboard% 
Es heißt, dass das nicht als Ausgangsvariable erlaubt ist ... RCIX vor 15 Jahren 0
was sagt das, das Drehbuch? Das Skript funktioniert für mich, bevor ich es poste. Es sollte die Tasten so senden, als wäre es eine Tastatureingabe. John T vor 15 Jahren 0
Mein Fehler, ich achte nicht genug darauf, in welcher Zeile der Fehler aufgetreten ist ... RCIX vor 15 Jahren 0
Dies beinhaltet nicht alles. Der Send-Befehl versucht, bestimmte Zeichen zu interpretieren, und diese werden geändert oder von der Ausgabe ausgeschlossen (Beispiel: + und!). Ross vor 11 Jahren 0
1
Matthew Lock

Ich habe das ursprüngliche Skript, das Sie hier geschrieben haben, korrigiert : https://superuser.com/questions/7271/most-useful-autohotkey-scripts/31282#31282 Funktioniert auf meinem Vista-System jetzt einwandfrei.

Der fragliche Code-Ausschnitt, der aus den Tiefen der Wayback-Maschine ausgetragen wurde:

^!c:: ClipSave := ClipboardAll Send ^x Run calc.exe WinWaitActive Calculator Send ^v Send  Sleep 250 Send ^c WinClose Send ^v Clipboard := ClipSave return 
Die verknüpfte Frage wurde gelöscht, wodurch diese Antwort unbrauchbar wird. Bitte verlinken Sie nicht einfach als Antwort auf eine andere Ressource. Ross vor 11 Jahren 0
http://wayback.archive.org/web/20130701085906/http://superuser.com/questions/7271/most-useful-autohotkey-scripts/31282#31282 Matthew Lock vor 11 Jahren 0
0
David Ljung Madison

Das Senden von Strg-V kann funktionieren, vorausgesetzt, dass Ihre App dies tatsächlich zum Einfügen verwendet, viele jedoch nicht.

Eine andere Option, ähnlich wie die Send-Optionen oben, aber ohne die Langsamkeit von SendRaw und ohne die Interpretation von Send (und mit einigen Verbesserungen gegenüber dem Problem der verklemmten Zusatztasten) ist:

;; Alt-Control v SendInput,%Clipboard% SendInput, ;; Try to release modifier keys return 

Obwohl die Modifizierertasten manchmal immer noch stecken bleiben ...