Wie blockiere ich andere Eingaben solange das AHK Script läuft?

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

98_812
Posts: 1
Joined: 17 Jan 2018, 08:51

Wie blockiere ich andere Eingaben solange das AHK Script läuft?

17 Jan 2018, 09:10

Hallo ahk Gemeinde,
ich habe ein Skript erstellt, welches mir verschiedene Ersetzungen in einer großen Word-Datei durchführt. Dieses Skript starte ich im Word Fenster mit einem Hotkey. Da dieses Skript lange läuft möchte ich verhindern, dass irgendwelche Eingaben in anderen Fenstern dazwischen funken. Kann ich während der Laufzeit des Skripts Tastatureingaben blockieren, oder zumindest die Tastatureingaben so lange verzögern, bis das Skript beendet ist?
Ich habe schon verschiedenes probiert, allerdings ohne den gewünschten Erfolg.
Kann mir jemand helfen?

Vielen Dank schon im Voraus
Manfred
BoBo
Posts: 2119
Joined: 13 May 2014, 17:15

Re: Wie blockiere ich andere Eingaben solange das AHK Script läuft?

17 Jan 2018, 09:24

Das problem hierbei scheint mir der wechselnde focus zu sein. Insofern sollten (um den eingabe-focus konkurierende) eingaben vermieden werden.
Eine mögliche lösung wäre die verwendung der (Word)COM schnittstelle, welche IMHO eine 'backend'verarbeitung zulassen sollte.
Doch dazu wirst du auf den einstieg unserer jeweiligen AHK-pros warten müssen, denn ich bins nicht :)

https://autohotkey.com/boards/viewtopic.php?t=8978
https://www.google.de/search?q=site:autohotkey.com+ComObjCreate("Word.Application")
User avatar
gregster
Posts: 569
Joined: 30 Sep 2013, 06:48

Re: Wie blockiere ich andere Eingaben solange das AHK Script läuft?

17 Jan 2018, 09:38

Willkommen im Forum, Manfred,
COM wäre wahsrcheinlich am elegantesten. Aber speziell mit Office habe ich da selbst auch keine praktische Erfahrung. Da müsste aber zumindest im englischsprachigen Forum was zu finden sein; vermutlich auch hier.

Aber hast du mal bei https://ahkde.github.io/docs/commands/BlockInput.htm geguckt, ob da ein geeigneter Modus dabei ist für dich (insbes. Modus 1)? Das wäre wahrscheinlich das einfachsten. (Das Entblocken im Skript nach den Aktionen nicht vergessen)

Letztendlich könnte man wahrscheinlich auch alle Tasten einfach en bloc deaktivieren mit

Code: [Select all] [Download] GeSHi © Codebox Plus

#if (block = 1)
a::
b::
c::
;........ etc. pp
return
#if

Aber das ist etwas mühsam, da man alle möglichen Tasten inkl. Maus blockieren (also aufzählen) muss, andererseits kannst du eine bspw. eine Abbruchtaste wie Escape aussparen. Wobei man mit einer Variable (hier "block" genannt) kontext-sensitive Hotkeys erstellen könnte. Sobald dein Skript dann block auf 1 setzen würde, wären die Tasten geblockt, beiblock := 0 o.ä. wären die Tasten wieder nutzbar.
User avatar
LuckyJoe
Posts: 71
Joined: 02 Oct 2013, 09:52

Re: Wie blockiere ich andere Eingaben solange das AHK Script läuft?

17 Jan 2018, 17:34

Hallo Manfred,

die Frage soll erlaubt sein: warum programmierst du deine Suche nicht innerhalb von Word mit VBA?

Viele Grüße
Lucky Joe
User avatar
divanebaba
Posts: 488
Joined: 20 Dec 2016, 03:53
Location: Diaspora

Re: Wie blockiere ich andere Eingaben solange das AHK Script läuft?

19 Jan 2018, 14:28

gregster wrote:...

Code: [Select all] [Download] GeSHi © Codebox Plus

#if (block = 1)
a::
b::
c::
;........ etc. pp
return
#if
...
Vielleicht dann doch lieber den Stecker ziehen :mrgreen: :mrgreen:

[Starklichtbirne IQ ~ 300!!] Dank deutscher Lehrerempfehlung, nur Süperdepp und Hartz4-Bezieher, statt Abitürient und Einkommensbezieher.
[Strong light bulb IQ ~ 300!!] Thanks to german teacher's recommendation, willful and welfare recipient, instead of high school graduate and moneymaker.

Entering high school for foreign children is not prohibited in GERMANY, it's only made nearly impossible by government.
Virtually the only way - visiting high school abroad.
User avatar
Gucky_87
Posts: 216
Joined: 03 Jul 2014, 05:09

Re: Wie blockiere ich andere Eingaben solange das AHK Script läuft?

24 Jan 2018, 08:14

Seitdem ich in einem meiner Scripte die COM Schnittstelle zu Excel benutze und quasi direkt "in" der Datei arbeite, habe ich solche Probleme nicht mehr.
Vorher habe ich auch per Copy, Paste, etc. zwischen einer geöffneten Excel Mappe und meinem GUI hin und hergeschaltet und durfte dabei z.T: nicht einmal den Mauszeiger verschieben, weil dann alles aus dem Ruder lief.

Grüße.

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 5 guests