2016-03-31 11 views
1

Ich möchte einen Autohotkey-Text schreiben, um den vom Benutzer ausgewählten Text zu bearbeiten und vier Leerzeichen am Anfang jeder Zeile anzufügen.Autohotkey-Skript, das ausgewählten Text bearbeitet, ohne die Zwischenablage zu verwenden

Wenn ich einfach eine Zeichenfolge mit mehreren Zeilen hätte, wäre die Aufgabe einfach.

Ich googelte und fand eine solution im offiziellen Autohotkey-Forum. Diese Lösung kopiert den Text in die Zwischenablage und löscht möglicherweise den Inhalt der Zwischenablage.

Gibt es eine Möglichkeit, dies in autohotkey zu tun, die nicht die Zwischenablage verwendet, wo ich direkt auf den ausgewählten Text bearbeiten kann?

+1

den Text von einer Steuerung zu erhalten ist sicherlich möglich. Was für eine Kontrolle? Du sagst es nicht. Wenn das Steuerelement beispielsweise ein Bearbeitungsfeld für Webseiten ist, können Sie mit AHK auf das DOM zugreifen, und Sie können Selektoren verwenden, um das Element und seinen Inhalt abzurufen. Aber wenn du dir Sorgen machst, die Zwischenablage zu benutzen, warum speicherst du nicht einfach den gegenwärtigen Inhalt und machst dann dein Ding und stellst dann die Zwischenablage aus der gespeicherten Variable wieder her? – PGilm

+0

@PGlim: Im Grunde das DOM, das Fokus hat. Hat eine Webseite grundlegend andere DOMs als das Bearbeiten von Text in Evernote? Ist es möglich, beide auf die gleiche Weise zu erreichen? – Christian

+1

Duplikat der zuvor gestellten Frage: http://stackoverflow.com/questions/36067563/get-selected-text-without-using-the-clipboard (wird nicht beantwortet) – Blauhirn

Antwort

-1

Hier sind einige Grundtechniken Zwischenablage:

ClipSaved := ClipboardAll ; Save the entire clipboard to a variable of your choice (in this case, ClipSaved). 

; Here is where you put your code 

Clipboard := ClipSaved ; Restore the original clipboard. 
ClipSaved = ; Free the memory in case the clipboard was very large. 

Mehr hier: https://autohotkey.com/docs/misc/Clipboard.htm