Page 1 of 1
Nur der Scriptanfang startet
Posted: 12 Feb 2024, 08:22
by AutoTexter
Hallo,
ich arbeite mit der aktuellsten AHK-Version.
Ich habe mir ein sehr einfaches Script geschrieben:
Code: Select all
^w::
{
Send "1234567890 1234567890 1234567890 1234567890 1234567890"
return
}
^U::
{
Send "0987654321 0987654321 0987654321 0987654321 0987654321"
return
}
Das Script startet auch richtig, nur nach ca. 10 Zeichen bleibt die Eingabe immer stehen und ich muss die Maus bewegen bzw. die Tastatur antippen, dass das Script dann Zeichen für Zeichen weiter geht.
Hat jemand einen Tipp für mich, wo ich meinen Fehler habe?
Danke
Re: Nur der Scriptanfang startet
Posted: 12 Feb 2024, 11:08
by just me
Moin,
die aktuellste AHK-Version wäre die Version 2.0.11. Dein Beispiel ist so geschrieben, dass es sowohl mit AHK 1 als auch mit AHK 2 laufen kann. Wenn Du Version 2 benutzen willst, stelle mal
an den Anfang des Skripts und entferne die
Return Anweisungen aus den Hotkey-
Funktionen.
Ansonsten sind keine Fehler zu sehen. Vielleicht 'verschluckt' sich die Zielanwendung? Dann könnte ein
helfen.
Re: Nur der Scriptanfang startet
Posted: 12 Feb 2024, 20:59
by AutoTexter
Hallo,
zunächst Danke für die Rückmeldung.
Leider brachte es keinen Erfolgt. Ich habe AHK auch mehrmals deinstalliert und neu installiert und auch die ZIP-Version getestet. Die Version 2 will einfach nicht funktionieren, aber wenn ich die "alte" AHK-Version installiere, klappt alles problemlos.
Ist evtl. mein Win11x64 schuld, was ich mir aber nicht vorstellen kann.
Ich arbeite mit folgenden Einstellungen:
- grafik.png (131.98 KiB) Viewed 429 times
Re: Nur der Scriptanfang startet
Posted: 13 Feb 2024, 03:58
by AutoTexter
Hallo,
soeben ist mir noch etwas aufgefallen.
Im Notepad++ funktioniert es problemlos aber im Notepad.exe habe ich die Probleme.
Wo ist hier der Bug?
Danke
Re: Nur der Scriptanfang startet
Posted: 13 Feb 2024, 04:02
by gregster
Das neue Notepad auf Win11 ist schon dafür bekannt, dass es nicht gut mit AHK's
Sendinput (Standard in v2) harmoniert. Da gibt es bisher keine gute Lösung. Am ehesten scheint noch der oben genannte
Sendmode "Event" zu helfen... bei mir funktioniert's, aber ist langsamer als der Input-Sendmode.
Alternativ könntest du ggf das Clipboard mit dem String befüllen und per
Send "^v" einfügen... das geht zumindest schneller.
Re: Nur der Scriptanfang startet
Posted: 13 Feb 2024, 07:03
by AutoTexter
Hallo,
dann bekomme ich folgende Fehlermeldung:
- image.png (17 KiB) Viewed 395 times
Mein Script sieht aktuell so aus:
Code: Select all
#Requires AutoHotkey v2
^w::
{
SendMode "1234567890 1234567890 1234567890 1234567890 1234567890"
}
^U::
{
SendMode "0987654321 0987654321 0987654321 0987654321 0987654321"
}
Re: Nur der Scriptanfang startet
Posted: 13 Feb 2024, 11:11
by gregster
Nee, so ist das nicht gemeint. Entweder schreibst du
SendMode "Event" in den
Auto-Execute Thread - also z.B. direkt unterhalb von
#Requires ... (das wirkt sich dann auf alle (unspezifischen)
Sends aus) - oder du änderst die
Sends individuell zu
SendEvent, wenn du z. B.
Send weiterhin synonym zu
SendInput verwenden willst.
Code: Select all
#Requires AutoHotkey v2
; SendMode "Event" ; ggf. entkommentieren
^w::
{
SendEvent "1234567890 1234567890 1234567890 1234567890 1234567890"
}
; ...
PS: Ich hab gerade nochmal getestet. Bei mir funktioniert
SendEvent auch nicht 100% zuverlässig im Win11-Notepad, aber dennoch wesentlich besser als der v2-Standard
SendInput - für längere Texte würde ich allerdings doch die Zwischenablage pasten, da SendEvent deutlich langsamer ist.
Re: Nur der Scriptanfang startet
Posted: 13 Feb 2024, 11:39
by AutoTexter
Hallo,
jetzt laufen die ersten 40 Zeichen durch, aber danach habe ich noch immer das gleiche Problem.
Warum funktioniert dann die alte AHK-Version? Das ist doch alles komisch.
MFG
Re: Nur der Scriptanfang startet
Posted: 13 Feb 2024, 12:29
by gregster
AHK v1 verwendete eben standardmäßig Event-Mode für Send - ich seh bei SendEvent aber keinerlei Unterschied zwichen den Versionen. v1 hakt bei langen Strings genauso im Event-Mode. Das Problem liegt eindeutig im neuen Notepad begründet - was Microsoft ziemlich egal sein dürfte.
Wie gesagt, Clipboard pasten sollte zuverlässiger sein. Bei Bedarf speicherst du den ursprünglihchen Inhalt in einer Variable, bevor du deine Zeichenkette hineingibst und verwendest, und stellst nach Benutzung den ursprünglichen Clipboard-Inhalt wieder her - so hast du möglichst wenig Auswirkungen auf den normalen Arbeitsablauf. Das kann man natürlich auch als wiederverwendbare Funktion definieren.
Aber warum überhaupt in Notepad pasten? Text-Dateien kannst du auch mit AHK-Bordmitteln problemlos editieren; und alternative Text-Editoren gibt es wie Sand am Meer.
Re: Nur der Scriptanfang startet
Posted: 14 Feb 2024, 02:20
by AutoTexter
Hallo,
OK dann spiele ich mich mit dem Pasten herum.
Trotzdem Danke für die Hilfe.
Gruß