forked from autohotkey-docs-translation/v1-de
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFAQ.htm
352 lines (337 loc) · 40.5 KB
/
FAQ.htm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
<!DOCTYPE HTML>
<html lang="de">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Häufig gestellte Fragen (FAQ) | AutoHotkey</title>
<meta name="description" content="Diese Seite enthält Fragen und Antworten zu Sprachsyntax, allgemeine Problembehandlung, allgemeine Aufgaben, Hotkeys, Hotstrings und Neubelegung." />
<link href="static/theme.css" rel="stylesheet" type="text/css" />
<script src="static/content.js" type="text/javascript"></script>
<script src="static/ga.js" type="text/javascript"></script>
</head>
<body>
<h1>Häufig gestellte Fragen (FAQ)</h1>
<h2 id="toc">Inhaltsverzeichnis</h2>
<p><strong><a href="#language-syntax">Sprachsyntax</a></strong></p>
<ul>
<li><a href="#quotes">Wann werden Anführungszeichen bei Befehlen und ihren Parametern benutzt?</a></li>
<li><a href="#percent">Wann genau werden Variablen mit Prozentzeichen umschlossen (%)?</a></li>
<li><a href="#esc">Wann sollten Prozentzeichen und Kommas mit einem Escapezeichen versehen werden?</a></li>
</ul>
<p><strong><a href="#general-troubleshooting">Allgemeine Problembehandlung</a></strong></p>
<ul>
<li><a href="#install">Was kann ich tun, wenn AutoHotkey nicht installiert wird?</a></li>
<li><a href="#rightclick">Wie stelle ich die Kontextmenüoptionen für .ahk-Dateien wieder her?</a></li>
<li><a href="#autoexec">Warum werden einige Zeilen in meinem Skript nie ausgeführt?</a></li>
<li><a href="#vista">Warum funktioniert mein Skript nicht in Windows <em>xxx</em>, obwohl es in einer vorherigen Version lief?</a></li>
<li><a href="#uac">Wie umgehe ich Probleme, die von der Benutzerkontensteuerung (UAC) erzeugt werden?</a></li>
<li><a href="#DefaultScript">Ich kann mein Skript nicht über das Tray-Symbol editieren, weil es sich aufgrund eines Fehlers nicht starten lässt. Kann ich mein Skript noch irgendwo anders finden?</a></li>
<li><a href="#Debug">Wie kann ich Fehler in meinem Code finden und beheben?</a></li>
<li><a href="#run">Warum ist der Run-Befehl nicht in der Lage, mein Videospiel oder Programm auszuführen?</a></li>
<li><a href="#nonascii">Warum werden die ASCII-fremden Zeichen in meinen Skript falsch angezeigt oder gesendet?</a></li>
<li><a href="#games">Warum funktionieren Hotstrings, Send und MouseClick in einigen Videospielen nicht?</a></li>
<li><a href="#perf">Wie kann die Leistung bei Videospielen bzw. in Situationen, wo die CPU stark belastet wird, verbessert werden?</a></li>
<li><a href="#Virus">Mein Antivirus-Programm hat AHK als Malware gekennzeichnet. Enthält es wirklich ein Virus?</a></li>
</ul>
<p><strong><a href="#common-tasks">Allgemeine Aufgaben</a></strong></p>
<ul>
<li><a href="#Download">Wo finde ich den offiziellen Build, oder ältere Versionen?</a></li>
<li><a href="#USB">Kann ich AHK von einem USB-Laufwerk ausführen?</a></li>
<li><a href="#output">Wie kann die Ausgabe einer Befehlszeilenoperation abgefragt werden?</a></li>
<li><a href="#close">Wie kann ein Skript andere Skripte schließen, pausieren, sperren oder neu laden?</a></li>
<li><a href="#repeat">Wie kann eine sich wiederholende Aktion gestoppt werden, ohne das Skript beenden zu müssen?</a></li>
<li><a href="#help">Wie kann die kontextabhängige Hilfe für AutoHotkey-Befehle in einem beliebigen Editor verwendet werden?</a></li>
<li><a href="#load">Wie kann man feststellen, dass eine Webseite fertig geladen ist?</a></li>
<li><a href="#time">Wie können Datums- oder Zeitwerte verglichen oder geändert werden?</a></li>
<li><a href="#SendDate">Wie kann ich das aktuelle Datum und/oder die aktuelle Uhrzeit senden?</a></li>
<li><a href="#ControlSend">Wie kann ich Text zu einem Fenster senden, das weder aktiv noch sichtbar ist?</a></li>
<li><a href="#winamp">Wie kann Winamp auch dann gesteuert werden, wenn es nicht aktiv ist?</a></li>
<li><a href="#msgbox">Wie können die Namen der MsgBox-Schaltflächen geändert werden?</a></li>
<li><a href="#DefaultEditor">Wie kann ich den Standard-Texteditor ändern, den man via Kontextmenü oder Tray-Symbol öffnen kann?</a></li>
<li><a href="#GuiSubmit">Wie kann ich die Inhalte der Steuerelemente in ihre zugeordneten Variablen speichern?</a></li>
<li><a href="#GDIPlus">Kann ich mit AHK etwas zeichnen?</a></li>
<li><a href="#WinWaitAction">Wie kann ich eine Aktion starten, wenn ein Fenster erscheint, geschlossen oder [in]aktiv wird?</a></li>
</ul>
<p><strong><a href="#hotkeys-hotstrings-and-remapping">Hotkeys, Hotstrings und Neubelegung</a></strong></p>
<ul>
<li><a href="#Startup">Wie können meine Hotkeys und Hotstrings automatisch bei jedem PC-Start ausgeführt werden?</a></li>
<li><a href="#HotMouse">Ich habe Schwierigkeiten, meine Maustasten als Hotkeys zu definieren. Irgendwelche Hinweise?</a></li>
<li><a href="#HotSymb">Wie können TAB und LEERTASTE als Hotkeys definiert werden?</a></li>
<li><a href="#Remap">Wie können Tastatur- oder Maustasten neu belegt werden, so dass sie zu anderen Tasten werden?</a></li>
<li><a href="#DoublePress">Wie kann ich einen doppelten Tastendruck oder Mausklick erkennen?</a></li>
<li><a href="#HotContext">Wie kann ein Hotkey oder Hotstring exklusiv für ein bestimmtes Programm bereitgestellt werden? Mit anderen Worten möchte ich eine bestimmte Taste dazu bringen, etwas anderes zu tun, wenn ein bestimmtes Fenster aktiv ist.</a></li>
<li><a href="#HotPrefix">Wie kann man eine sonst funktionslose Präfix-Taste dazu bringen, ihre ursprüngliche Funktion durchzuführen?</a></li>
<li><a href="#HotOverride">Wie können die systeminternen Tastenkürzel wie WIN+U (Eingabehilfe) und WIN+R (Ausführen) geändert oder deaktiviert werden?</a></li>
<li><a href="#HotRegex">Kann ich Platzhalter oder reguläre Ausdrücke in Hotstrings verwenden?</a></li>
<li><a href="#SpecialKey">Wie kann ich einen Hotkey verwenden, der nicht auf meinem Tastaturlayout vorkommt?</a></li>
<li><a href="#HotZero">Meine Tastatur hat die 000-Taste. Ist es möglich, diese Taste in ein Hotkey umzuwandeln?</a></li>
</ul>
<h2 id="language-syntax">Sprachsyntax</h2>
<h3 id="quotes">Wann werden Anführungszeichen bei Befehlen und ihren Parametern benutzt?</h3>
<p>Anführungszeichen (") haben nur innerhalb von <a href="Variables.htm#Expressions">Ausdrücken</a> eine besondere Bedeutung. Überall woanders werden sie als normale Zeichen behandelt. Wenn ein Skript allerdings ein Programm oder Dokument startet, müssen eventuell vorhandene Befehlszeilenparameter, die Leerzeichen enthalten, in Anführungszeichen gesetzt sein, damit das Betriebssystem sie richtig erkennen kann. Zum Beispiel: <code>Run, Notepad.exe "C:\Meine Dateien\Adressenliste.txt"</code>.</p>
<h3 id="percent">Wann genau werden Variablen mit Prozentzeichen umschlossen (%)?</h3>
<p>Variablennamen werden immer mit Prozentzeichen umschlossen, außer in den unteren Fällen, die <strong>fett</strong> hervorgehoben sind:</p>
<p>1) Bei Parametern, die Eingabe- oder Ausgabevariablen sind: <code><a href="commands/StringLen.htm">StringLen</a>, <strong>AusgabeVar</strong>, <strong>EingabeVar</strong></code><br>
2) Auf der linken Seite einer Zuweisung: <code><strong>Var</strong> = 123abc</code><br>
3) Auf der linken Seite einer <a href="commands/IfEqual.htm">traditionellen if-Anweisung (kein Ausdruck)</a>: <code>If <strong>Var1</strong> < %Var2%</code><br>
4) Überall in <a href="Variables.htm#Expressions">Ausdrücken</a>. Zum Beispiel:</p>
<pre>If (<strong>Var1</strong> <> <strong>Var2</strong>)
<strong>Var1 <a href="commands/SetExpression.htm">:=</a> Var2</strong> + 100</pre>
<p>Weitere Informationen zur Verwendung von Prozentzeichen finden Sie unter <a href="Language.htm#legacy-syntax">Altmodische Syntax</a> und <a href="Language.htm#dynamic-variables">Dynamische Variablen</a>. Prozentzeichen können auch andere Bedeutungen haben:</p>
<ul>
<li>Das <a href="Language.htm#-expression">Prozent-Leerzeichen-Präfix</a> bewirkt, dass ein Befehlsparameter als Ausdruck interpretiert wird.</li>
<li><a href="commands/_EscapeChar.htm#Remarks">Escapezeichenversehene</a> Prozentzeichen (<code>`%</code>) und Prozentzeichen innerhalb von <a href="Language.htm#strings">in Anführungszeichen gesetzten, direkt geschriebenen Zeichenketten</a> haben keine besondere Bedeutung (sie werden als direkt geschriebene Prozentzeichen interpretiert).</li>
</ul>
<h3 id="esc">Wann sollten Prozentzeichen und Kommas mit einem <a href="commands/_EscapeChar.htm">Escapezeichen</a> versehen werden?</h3>
<p>Direkt geschriebene Prozentzeichen müssen mit einem <a href="commands/_EscapeChar.htm">Escapezeichen</a> versehen werden, indem man ein Akzent / umgekehrtes Häkchen davorsetzt. Zum Beispiel: <code>MsgBox Der aktuelle Prozentwert liegt bei 25`%</code>. Direkt geschriebene Kommas müssen auch mit einem Escapezeichen versehen werden (<code>`,</code>), es sei denn, sie werden in einer <a href="commands/MsgBox.htm">MsgBox</a> oder im letzten Parameter eines Befehls verwendet (dann ist das umgekehrte Häkchen zulässig, aber nicht notwendig).</p>
<p> Sind Kommas oder Prozentzeichen innerhalb eines <a href="Variables.htm#Expressions">Ausdrucks</a> in Anführungszeichen gesetzt, ist das umgekehrte Häkchen zulässig, aber nicht notwendig. Zum Beispiel: <code>Var := "15%"</code>.</p>
<h2 id="general-troubleshooting">Allgemeine Problembehandlung</h2>
<h3 id="install">Was kann ich tun, wenn AutoHotkey nicht installiert wird?</h3>
<p id="install-7z"><strong>7-Zip-Fehler:</strong> Verwenden Sie 7-Zip oder ein kompatibles Programm, um die Setup-Dateien aus der Installer-EXE zu extrahieren und starten Sie dann setup.exe oder Installer.ahk (ziehen Sie Installer.ahk mit gedrückter Maustaste auf AutoHotkeyU32.exe und lassen Sie los).</p>
<p>Der AutoHotkey-Installer ist ein selbstextrahierendes 7-Zip-Archiv, das versuchen wird, die Dateien in das temporäre Benutzerverzeichnis zu entpacken und ein kompiliertes Skript zu starten. Manchmal kann es vorkommen, dass die Dateien aufgrund von Systemrichtlinien oder andere Faktoren nicht extrahiert oder ausgeführt werden dürfen. Dabei wird üblicherweise ein "7-Zip-Fehler" angezeigt. In so einem Fall könnte es helfen, die Dateien manuell in ein anderes Verzeichnis zu extrahieren.</p>
<p id="install-hang"><strong>Setup hängt:</strong> Erscheint das Setup-Fenster ohne Inhalt oder überhaupt nicht, können Sie eine oder beide folgende Methoden ausprobieren:</p>
<ul><li>Halten Sie <kbd>Strg</kbd> oder <kbd>Umschalt</kbd> gedrückt, wenn Sie den Installer starten. Wenn Sie eine Benutzerkontensteuerungsnachricht bekommen, müssen Sie <kbd>Strg</kbd> oder <kbd>Umschalt</kbd> gedrückt halten, während Sie auf Ja/Fortfahren klicken. Jetzt sollte die Abfrage kommen, ob die Installation mit den Standardoptionen fortgesetzt werden soll.</li>
<li>Installieren Sie AutoHotkey mithilfe der <a href="Program.htm#install">Kommandozeilenoptionen</a>. Sobald Sie die Setup-Dateien manuell aus der Installer-EXE extrahiert haben, können Sie entweder <code>setup.exe /S</code> oder <code>AutoHotkeyU32.exe Installer.ahk /S</code> verwenden.</li>
</ul>
<p><strong>Sonstiges:</strong> Die obigen Vorschläge decken die häufigsten Probleme. Weitere Unterstützung finden Sie im Forum.</p>
<h3 id="rightclick">Wie stelle ich die Kontextmenüoptionen für .ahk-Dateien wieder her?</h3>
<p>Normalerweise, wenn AutoHotkey installiert ist, sollte ein Rechtsklick auf eine AutoHotkey-Skriptdatei (.ahk) die folgenden Optionen bieten:</p>
<ul>
<li>Run Script</li>
<li>Compile Script (abhängig von der Installationsoption <em>Install script compiler</em>)</li>
<li>Edit Script</li>
<li>Run as administrator (wenn UAC bei der Installation von AutoHotkey aktiviert war)</li>
<li>Run with UI Access (wenn <a href="Program.htm#Installer_uiAccess">die Option</a> während der Installation aktiviert wurde)</li>
</ul>
<p>Manchmal werden diese Optionen durch Einstellungen im Profil des aktuellen Benutzers überschrieben, z. B. wenn <em>Öffnen mit</em> verwendet wurde, um das Standardprogramm zum Öffnen von .ahk-Dateien zu ändern. Um das zu beheben, können Sie den folgenden Registry-Key löschen:</p>
<pre class="no-highlight">HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ahk\UserChoice</pre>
<p>Oder <a href="misc/remove-userchoice.reg" download="remove-userchoice.reg">diesen Registry-Patch</a> ausführen.</p>
<p>Es ist eventuell auch notwendig, die Standardwerte in der Registry zu reparieren, indem Sie entweder AutoHotkey neu installieren oder das AutoHotkey-Setup (aus dem Startmenü) ausführen und <em>apply</em> oben im Fenster auswählen.</p>
<h3 id="autoexec">Warum werden einige Zeilen in meinem Skript nie ausgeführt?</h3>
<p>Jede Zeile, die unmittelbar beim Starten des Skripts ausgeführt werden soll, muss ganz oben im Skript vorkommen und vor dem ersten <a href="Hotkeys.htm">Hotkey</a>, <a href="Hotstrings.htm">Hotstring</a> oder <a href="commands/Return.htm">Return</a> stehen. Siehe <a href="Scripts.htm#auto">automatischer Ausführungsbereich</a> für weitere Details.</p>
<p>Die erste auszuführende Zeile eines <a href="Hotkeys.htm">Hotkey</a>s darf nicht neben der Definition stehen, sondern muss <em>darunter</em> erfolgen. Zum Beispiel:</p>
<pre>#space:: <em>; WIN+LEERTASTE</em>
Run Notepad
WinWaitActive Unbenannt - Editor
WinMaximize
return</pre>
<h3 id="vista">Warum funktioniert mein Skript nicht in Windows <em>xxx</em>, obwohl es in einer vorherigen Version lief?</h3>
<p>Dieses Problem tritt in mehreren Varianten auf:</p>
<ul>
<li>Ich habe mein Computer/Windows aufgewertet und stelle nun fest, dass mein Skript nicht mehr funktioniert.</li>
<li>Hotkeys/Hotstrings funktionieren nicht, wenn ein Programm mit Administratorrechten aktiv ist.</li>
<li>Einige Fenster lassen eine Automatisierung nicht zu (z. B. Geräte-Manager ignoriert Send).</li>
</ul>
<p>Wenn Sie auf ein anderes Betriebssystem gewechselt haben, kann es sein, dass sich auch etwas geändert hat, das Einfluss auf Ihr Skript haben kann. Wenn Sie zum Beispiel einen neuen Computer haben, können andere Treiber oder Software installiert sein. Wenn Sie AutoHotkey auf eine neue Version aktualisiert haben, finden Sie heraus, welche Version zuvor installiert war, und überprüfen Sie dann die <a href="AHKL_ChangeLog.htm">Changelog</a> und <a href="Compat.htm">Kompatibilitätshinweise</a> auf Änderungen, die Ihr Skript stören könnten.</p>
<p><a href="commands/SoundGet.htm">SoundGet</a>, <a href="commands/SoundSet.htm">SoundSet</a>, <a href="commands/SoundGetWaveVolume.htm">SoundGetWaveVolume</a> und <a href="commands/SoundSetWaveVolume.htm">SoundSetWaveVolume</a> verhalten sich in Windows Vista und höher anders als in älteren Windows-Versionen. Das liegt vor allem daran, dass die Nummerierung der Geräte unterschiedlich ist und dass einige Komponenten eventuell nicht verfügbar sind. Das Verhalten richtet sich nach den Audio-Treibern, die zwangsläufig anders sind als die von XP. Mit dem <a href="commands/SoundSet.htm#Ex">Soundkartenanalyse-Skript</a> können die korrekten Gerätenummern ermitteln werden.</p>
<p>Siehe auch die folgende Frage:</p>
<h3 id="uac">Wie umgehe ich Probleme, die von der Benutzerkontensteuerung (UAC) erzeugt werden?</h3>
<p>Die <a href="https://de.wikipedia.org/wiki/Benutzerkontensteuerung">Benutzerkontensteuerung (UAC)</a> verursacht häufig Probleme, besonders wenn man von Windows XP/Vista/7 zu Vista/7/8/10 wechselt. UAC gibt es seit Windows Vista und ist standardmäßig auf neuen Systemen oder Installationen aktiviert. In Windows 8 und höher lässt sich UAC schwieriger deaktivieren.</p>
<p>Aus Sicherheitsgründen verhindert UAC, dass "höhergestellte" Programme (also Programme mit Administratorrechten) von anderen nicht-höhergestellten Programmen automatisiert werden können. Hotkeys werden auch blockiert; zum Beispiel kann ein nicht-höhergestelltes Programm die Tastatureingaben eines höhergestellten Programms nicht ausspionieren.</p>
<p>UAC könnte sich auch negativ auf <a href="commands/Send.htm#SendPlayDetail">SendPlay</a> und <a href="commands/BlockInput.htm">BlockInput</a> auswirken.</p>
<p>Es gibt folgende Übergangslösungen:</p>
<ul>
<li>Aktivieren Sie die Option <em><a href="Program.htm#Installer_uiAccess">Add 'Run with UI Access' to context menus</a></em> im AutoHotkey-Setup. Diese Option kann jederzeit durch erneutes Ausführen des AutoHotkey-Setups im Startmenü aktiviert oder deaktiviert werden, ohne dass AutoHotkey neu installiert werden muss. Sobald sie aktiviert ist, können Sie Ihr Skript via Rechtsklickmenüpunkt <em>Run with UI Access</em> starten, oder eine <a href="Scripts.htm#cmd">Befehlszeile</a> wie <code>"AutoHotkeyU32_UIA.exe" "Ihr Skript.ahk"</code> benutzen (aber mit vollständigem Pfad).</li>
<li>Führen Sie das Skript <a href="Variables.htm#IsAdmin">als Administrator</a> aus. Beachten Sie, dass dadurch Programme, die vom Skript aus gestartet werden, auch als Administrator ausgeführt werden, und dass der Benutzer womöglich eine Zulassungsabfrage beim Starten des Skripts bestätigen muss.</li>
<li>Deaktivieren Sie die lokale Sicherheitseinstellung "Alle Administratoren im Administratorgenehmigungsmodus ausführen" (nicht empfohlen).</li>
<li>Deaktivieren Sie UAC vollständig. Dieser Schritt ist nicht empfohlen, und seit Windows 8 nicht mehr machbar.</li>
</ul>
<h3 id="DefaultScript">Ich kann mein Skript nicht über das Tray-Symbol editieren, weil es sich aufgrund eines Fehlers nicht starten lässt. Was soll ich tun?</h3>
<p>Sie müssen den Fehler in Ihrem Skript beheben, wenn Sie das Tray-Symbol zurück haben wollen. Aber zuerst müssen Sie die Skript-Datei finden.</p>
<p>Suchen Sie AutoHotkey.ahk in den folgenden Verzeichnissen:</p>
<ul>
<li>Ihre <em>Dokumente</em> (oder <em>Eigene Dokumente</em>).</li>
<li>Das Verzeichnis, in dem AutoHotkey installiert wurde, üblicherweise C:\Programme\AutoHotkey. Wenn Sie AutoHotkey ohne Installer benutzen, schauen Sie im Verzeichnis nach, das AutoHotkey.exe enthält.</li>
</ul>
<p>Führt man die ausführbare Hauptdatei von AutoHotkey direkt aus, wird automatisch ein Skript gestartet, das den gleichen Namen trägt. Wenn man beispielsweise AutoHotkeyU32.exe ausführt, muss man nach AutoHotkeyU32.ahk suchen. Beachten Sie, dass je nach Systemeinstellung die .ahk-Endung versteckt sein könnte, allerdings sollte die Datei ein Symbol haben, das wie folgt aussieht: <img src="static/ahkfile16.png" alt="[H]"></p>
<p>Ein Skript editiert man üblicherweise, indem man die Datei mit der rechten Maustaste anklickt und <em>Edit Script</em> auswählt. Wenn das nicht funktioniert, können Sie die Datei in einem beliebigen Texteditor öffnen.</p>
<p>Wenn man AutoHotkey über das Startmenü startet oder wenn man AutoHotkey.exe direkt ausführt (ohne Befehlszeilenparameter), wird nach einem Skript gesucht, das in den oben genannten Standorten vorkommt. Oder man erstellt einfach eine Skriptdatei (beliebigerName.ahk), egal wo, und führt diese stattdessen aus.</p>
<p>Siehe auch <a href="Scripts.htm#defaultfile">Befehlszeilenparameter "Skript-Dateiname"</a> und <a href="Program.htm#portability">Portabilität von AutoHotkey.exe</a>.</p>
<h3 id="Debug">Wie kann ich Fehler in meinem Code finden und beheben?</h3>
<p>Für einfache Skripte, siehe <a href="Scripts.htm#debug">Ein Skript debuggen</a>. Mit <a href="commands/MsgBox.htm">MsgBox</a> oder <a href="commands/ToolTip.htm">ToolTip</a> können Inhalte einer Variable angezeigt werden. Für komplexe Skripte, siehe <a href="Scripts.htm#idebug">Interaktives Debuggen</a>.</p>
<h3 id="run">Warum kann der <a href="commands/Run.htm">Run</a>-Befehl mein Videospiel oder Programm nicht ausführen?</h3>
<p>Einige Programme müssen in ihren eigenen Verzeichnissen gestartet werden (im Zweifelsfall der sicherste Weg). Zum Beispiel:</p>
<pre>Run, %ProgramFiles%\Beliebige Anwendung\Anwendung.exe, %ProgramFiles%\Beliebige Anwendung</pre>
<p>Wenn man versucht, ein Programm zu starten, das im Ordner <code>%A_WinDir%\System32</code> liegt, und die 32-Bit-Version von AutoHotkey auf einem 64-Bit-System benutzt, kann es passieren, dass der <a href="https://msdn.microsoft.com/de-de/library/aa384187">File System Redirector</a> Probleme bereiten wird. Um das zu umgehen, können Sie stattdessen <code>%A_WinDir%\SysNative</code> verwenden; dieser Pfad führt zu einem virtuellen Verzeichnis, das nur 32-Bit-Programme in einem 64-Bit-System sehen können.</p>
<h3 id="nonascii">Warum werden die ASCII-fremden Zeichen in meinen Skript falsch angezeigt oder gesendet?</h3>
<p>Kurze Antwort: Speichern Sie das Skript als UTF-8 mit BOM.</p>
<p>Obwohl AutoHotkey Unicode-Text unterstützt, ist es auf Abwärtskompatibilität ausgelegt; das heißt, dass es standardmäßig die ANSI-Codierung bevorzugt, und nicht das international empfohlene UTF-8. AutoHotkey wird eine UTF-8-Datei nicht automatisch erkennen, es sei denn, sie beginnt mit einer Byte-Order-Markierung.</p>
<p>Das heißt, dass UTF-8-Dateien, die keine Byte-Order-Markierung haben, fehlinterpretiert und infolgedessen ASCII-fremde Zeichen falsch dekodiert werden. Um das zu umgehen, müssen Sie die Datei als UTF-8 mit BOM abspeichern oder <a href="Scripts.htm#cp">die Befehlszeilenoption /CP65001 hinzufügen</a>.</p>
<p>Um in Notepad eine Datei als UTF-8 mit BOM abzuspeichern, wählen Sie <em>UTF-8</em> in der DropDown-Liste für <em>Codierung</em> aus, die im Dialogfenster "Speichern unter" zu finden ist.</p>
<p>Um andere UTF-8-Dateien ohne Byte-Order-Markierung zu lesen, können Sie <code><a href="commands/FileEncoding.htm">FileEncoding</a> UTF-8-RAW</code>, die <code>*P65001</code>-Option mit <a href="commands/FileRead.htm">FileRead</a> oder <code>"UTF-8-RAW"</code> im dritten Parameter von <a href="commands/FileOpen.htm">FileOpen()</a> verwenden. Das <code>-RAW</code>-Suffix kann weggelassen werden, aber in diesem Fall haben alle neu erstellten Dateien eine Byte-Order-Markierung.</p>
<p>Beachten Sie, dass INI-Dateien, die mit den Standard-INI-Befehlen angesteuert werden, kein UTF-8 unterstützen; sie müssen als ANSI oder UTF-16 gespeichert werden.</p>
<h3 id="games">Warum funktionieren <a href="Hotstrings.htm">Hotstrings</a>, <a href="commands/Send.htm">Sends</a> und <a href="commands/Click.htm">Clicks</a> in einigen Videospielen nicht?</h3>
<p>Einige Videospiele verbieten AHK, Tasten und Mausklicks zu senden oder Pixelfarben zu lesen.</p>
<p>Allerdings gibt es weiter unten ein paar Alternativen, die man ausprobieren kann. Wenn sie alle fehlschlagen, könnte es sein, dass AHK nicht für Ihr Videospiel geeignet ist. Manche Videospiele haben Maßnahmen gegen Hacks und Cheats integriert, wie z. B. GameGuard und Hackshield. In diesem Fall besteht eine hohe Chance, dass AutoHotkey nicht funktionieren wird.</p>
<ul>
<li>
<p>Verwenden Sie SendPlay via <a href="commands/Send.htm#SendPlay">SendPlay</a>-Befehl, <a href="commands/SendMode.htm">SendMode Play</a> und/oder <a href="Hotstrings.htm">Hotstring-Option SP</a>.</p>
<pre>SendPlay, abc</pre>
<pre>SendMode, Play
Send, abc</pre>
<pre>:SP:bzw::beziehungsweise
<em>; oder</em>
#Hotstring SP
::bzw::beziehungsweise</pre>
<p class="note"><strong>Hinweis</strong>: Es kann sein, dass SendPlay in Windows Vista oder höher überhaupt nicht funktioniert, wenn die Benutzerkontensteuerung (UAC) aktiv ist, selbst wenn das Skript als Administrator läuft.</p>
</li>
<li>
<p>Erhöhen Sie <a href="commands/SetKeyDelay.htm">SetKeyDelay</a>. Zum Beispiel:</p>
<pre>SetKeyDelay, 0, 50
SetKeyDelay, 0, 50, Play</pre>
</li>
<li>
<p>Versuchen Sie es mit <a href="commands/ControlSend.htm">ControlSend</a>. Dieser Befehl könnte dort funktionieren, wo andere Sendemethoden versagen:</p>
<pre>ControlSend,, abc, Videospiel_Titel</pre>
</li>
<li>
<p>Versuchen Sie es mit dem Down- und Up-Ereignis einer Taste, in Verbindung mit verschiedenen Sendemethoden:</p>
<pre>Send {TASTE down}{TASTE up}</pre>
</li>
<li>
<p>Versuchen Sie es mit dem Down- und Up-Ereignis einer Taste, in Verbindung mit einem <a href="commands/ControlSend.htm">Sleep</a> dazwischen:</p>
<pre>Send {TASTE down}
Sleep 10 <em>; probieren Sie verschiedene Millisekunden aus</em>
Send {TASTE up}</pre>
</li>
</ul>
<h3 id="perf">Wie kann die Leistung bei Videospielen bzw. in Situationen, wo die CPU stark belastet wird, verbessert werden?</h3>
<p>Sind <a href="Hotkeys.htm">Hotkeys</a>, <a href="commands/Click.htm">Clicks</a> oder <a href="commands/Send.htm">Sends</a> im Skript bei starker CPU-Belastung spürbar langsamer als normal, könnte es hilfreich sein, die Priorität des Skript-Prozesses zu erhöhen. Fügen Sie dazu die folgende Zeile am Anfang des Skripts ein:</p>
<pre><a href="commands/Process.htm">Process</a>, Priority, , High</pre>
<h3 id="Virus">Mein Antivirus-Programm hat AutoHotkey oder ein kompiliertes Skript als Malware erkannt. Ist das wirklich ein Virus?</h3>
<p>Es kann zwar nie ganz kann ausgeschlossen werden, dass die Datei infiziert ist, aber in den meisten Fällen sind solche Warnungen <em>False-Positives</em> (Falschmeldungen); das heißt, dass das Antivirus-Programm falsch liegt. Häufig wird vorgeschlagen, die Datei bei einem Online-Service wie <a href="https://www.virustotal.com/">virustotal</a> oder <a href="https://virusscan.jotti.org/">Jotti</a> hochzuladen und zu überprüfen, was andere Antivirus-Programme zu sagen haben. Im Zweifelsfall können Sie die Datei zum Hersteller Ihres Antivirus-Programms schicken und ihre Echtheit bestätigen lassen. Das würde auch uns und anderen AutoHotkey-Benutzern helfen, weil der Hersteller die Datei als False-Positive anerkennen und sein Produkt entsprechend anpassen würde.</p>
<p>False-Positives können häufiger auftreten, wenn kompilierte Skripte mit UPX (Standard in AutoHotkey 1.0, aber nicht in 1.1) oder MPRESS (optional in AutoHotkey 1.1) komprimiert sind. Da die Standardinstallation von AutoHotkey einen Kompressor nicht beinhaltet, werden kompilierte Skripte standardmäßig nicht komprimiert.</p>
<h2 id="common-tasks">Allgemeine Aufgaben</h2>
<h3 id="Download">Wo finde ich den offiziellen Build, oder ältere Versionen?</h3>
<p>Siehe <a href="https://www.autohotkey.com/download/">Download-Seite von AutoHotkey</a>.</p>
<h3 id="USB">Kann ich AHK von einem USB-Laufwerk ausführen?</h3>
<p>Siehe <a href="Program.htm#portability">Portabilität von AutoHotkey.exe</a>.</p>
<p>Hinweis: Wenn Sie ein Skript kompilieren, das automatisch einfügende Funktionsbibliotheken verwendet, müssen AutoHotkey.exe und der Lib-Ordner eine Ebene höher sein als Ahk2Exe.exe (z. B. \AutoHotkey.exe vs \Compiler\Ahk2Exe.exe). Beachten Sie zudem, dass Ahk2Exe seine Einstellungen in den folgenden Registry-Key speichert: <code>HKCU\Software\AutoHotkey\Ahk2Exe</code>. Der Compiler selbst (Ahk2Exe) wird nicht benötigt, um Skripte auszuführen.</p>
<h3 id="output">Wie kann die Ausgabe einer Befehlszeilenoperation abgefragt werden?</h3>
<p>Tests zeigen, dass eine temporäre Datei aufgrund von Datei-Caching sehr schnell bei relativ kleinen Ausgaben sein kann. Tatsächlich wird sie gar nicht erst auf das Laufwerk geschrieben, wenn die Datei unmittelbar nach ihrer Verwendung gelöscht wird. Zum Beispiel:</p>
<pre><a href="commands/Run.htm">RunWait</a> %ComSpec% /c dir > C:\Meine Temp-Datei.txt
FileRead, VarMitInhalt, C:\Meine Temp-Datei.txt
FileDelete, C:\Meine Temp-Datei.txt</pre>
<p>Wenn Sie temporäre Dateien vermeiden wollen (besonders wenn die Ausgabe groß ist), sollten Sie die <a href="commands/Run.htm#StdOut">Shell.Exec()</a>-Methode verwenden, die in den Beispielen des <a href="commands/Run.htm">Run</a>-Befehls zu finden ist.</p>
<h3 id="close">Wie kann ein Skript andere Skripte schließen, pausieren, sperren oder neu laden?</h3>
<p>Zunächst ein Beispiel, das ein anderes Skript schließt:</p>
<pre>DetectHiddenWindows On <em>; Ermöglicht die Erkennung des versteckten Hauptfensters eines Skripts.</em>
SetTitleMatchMode 2 <em>; Verhindert, dass unten der vollständige Pfad der Datei angegeben werden muss.</em>
WinClose Skript-Dateiname.ahk - AutoHotkey <em>; Verwenden Sie hier den Namen Ihres Skripts (Groß-/Kleinschreibung-sensitiv).</em></pre>
<p>zum <a href="commands/Suspend.htm">Sperren</a>, <a href="commands/Pause.htm">Pausieren</a> oder <a href="commands/Reload.htm">Neuladen</a> eines anderen Skripts müssen Sie die letzte Zeile oben mit eine der folgenden Zeilen ersetzen:</p>
<pre>PostMessage, 0x111, 65305,,, Skript-Dateiname.ahk - AutoHotkey <em>; Suspend (Sperren).</em>
PostMessage, 0x111, 65306,,, Skript-Dateiname.ahk - AutoHotkey <em>; Pause.</em>
PostMessage, 0x111, 65303,,, Skript-Dateiname.ahk - AutoHotkey <em>; Reload (Neuladen).</em></pre>
<h3 id="repeat">Wie kann eine sich wiederholende Aktion gestoppt werden, ohne das Skript beenden zu müssen?</h3>
<p>Um bei Tastendruck das ganze Skript zu pausieren oder fortzusetzen, weisen Sie wie folgt dem <a href="commands/Pause.htm">Pause</a>-Befehl ein Hotkey zu:</p>
<pre>^!p::Pause <em>; Drücken Sie STRG+ALT+P, um die Pause zu starten. Drücken Sie es nochmal, um die Pause zu beenden.</em></pre>
<p>Um eine sich wiederholende Aktion innerhalb einer <a href="commands/Loop.htm">Schleife</a> zu stoppen, verwenden Sie den folgenden Hotkey, der seine eigene wiederholende Aktion sowohl startet als auch beendet. Das heißt, dass durch einmaliges Drücken des Hotkeys die Schleife begonnen und durch nochmaliges Drücken diese wieder beendet wird.</p>
<pre>#MaxThreadsPerHotkey 3
<strong>#z:: <em>; WIN+Z (passen Sie diesen Hotkey Ihren Bedürfnissen an).</em></strong>
#MaxThreadsPerHotkey 1
if WinZLaufenLassen <em>; Bedeutet, dass ein darunterliegender <a href="misc/Threads.htm">Thread</a> bereits die untere Schleife ausführt.</em>
{
WinZLaufenLassen := false <em>; Signalisiert dem Thread, die Schleife zu stoppen.</em>
return <em>; Beendet diesen Thread, damit der darunterliegende Thread zu einem fortgesetzt wird und zum anderen die obere Zuweisung sehen kann.</em>
}
<em>; Ansonsten:</em>
WinZLaufenLassen := true
Loop
{
<strong><em>; Die nächsten vier Zeilen sind die Aktionen, die wiederholt werden sollen (passen Sie sie Ihren Bedürfnissen an):</em></strong>
ToolTip, Drücken Sie erneut WIN+Z`, um das hier zu stoppen.
Sleep 1000
ToolTip
Sleep 1000
<strong><em>; Lassen Sie den Rest aber unverändert.</em></strong>
if not WinZLaufenLassen <em>; Der Benutzer hat die Schleife durch erneutes Drücken von WIN+Z gestoppt.</em>
break <em>; Unterbricht die Schleife.</em>
}
WinZLaufenLassen := false <em>; Setzt den Wert zum Wiederverwenden des Hotkeys zurück.</em>
return</pre>
<h3 id="help">Wie kann die kontextabhängige Hilfe für AutoHotkey-Befehle in einem beliebigen Editor verwendet werden?</h3>
<p>Rajat hat dafür <a href="scripts/index.htm#ContextSensitiveHelp">dieses Skript</a> erstellt.</p>
<h3 id="load">Wie kann man feststellen, dass eine Webseite fertig geladen ist?</h3>
<p>Für den Internet Explorer ist DllCall() in Kombination mit COM die wohl zuverlässigste Methode; ein Beispiel dazu finden Sie unter <a href="https://www.autohotkey.com/forum/topic19256.html">www.autohotkey.com/forum/topic19256.html</a>. Außerdem kann man den Inhalt der Adress- und Statusleiste abrufen, wenn man die Methode von <a href="https://www.autohotkey.com/forum/topic19255.html">www.autohotkey.com/forum/topic19255.html</a> verwendet.</p>
<p><strong>Ältere, weniger zuverlässige Methode:</strong> Das folgende Beispiel funktioniert für fast alle Webseiten des Internet Explorers. Eine ähnliche Methode könnte auch für andere Browser funktionieren:</p>
<pre>Run, www.yahoo.com
MouseMove, 0, 0 <em>; Verhindert, dass in der Statusleiste aufgrund der Mausposition ein Link angezeigt wird.</em>
WinWait, Yahoo! -
WinActivate
<a href="commands/StatusBarWait.htm">StatusBarWait</a>, Done, 30
if ErrorLevel
MsgBox Die Wartezeit ist abgelaufen oder das Fenster wurde geschlossen.
else
MsgBox Die Webseite wurde geladen.</pre>
<h3 id="time">Wie können Datums- oder Zeitwerte verglichen oder geändert werden?</h3>
<p>Der <a href="commands/EnvAdd.htm">EnvAdd</a>-Befehl kann eine bestimmte Menge an Tagen, Stunden, Minuten oder Sekunden im <a href="commands/FileSetTime.htm#YYYYMMDD">YYYYMMDDHH24MISS</a>-Format addieren oder subtrahieren. Das folgende Beispiel subtrahiert 7 Tage von einer bestimmten Zeit: <code>EnvAdd, VariableMitZeitstempel, -7, days</code>.</p>
<p>Um die Zeitmenge zwischen zwei Datum- oder Zeitwerten zu ermitteln, sollten Sie sich das Beispiel in <a href="commands/EnvSub.htm">EnvSub</a> anschauen. Die interne Variable <a href="Variables.htm#Now">A_Now</a> enthält die aktuelle Ortszeit. Außerdem gibt es noch andere interne <a href="Variables.htm#date">Datum/Zeit-Variablen</a>, sowie auch den <a href="commands/FormatTime.htm">FormatTime</a>-Befehl, um eine benutzerdefinierte Datum/Zeit-Zeichenkette erstellen zu können.</p>
<h3 id="SendDate">Wie kann ich das aktuelle Datum und/oder die aktuelle Uhrzeit senden?</h3>
<p>Mit <a href="commands/FormatTime.htm">FormatTime</a> oder <a href="Variables.htm#date">internen Datum- und Zeit-Variablen</a>.</p>
<h3 id="ControlSend">Wie kann ich Text zu einem Fenster senden, das weder aktiv noch sichtbar ist?</h3>
<p>Mit <a href="commands/ControlSend.htm">ControlSend</a>.</p>
<h3 id="winamp">Wie kann Winamp auch dann gesteuert werden, wenn es nicht aktiv ist?</h3>
<p>Siehe <a href="misc/Winamp.htm">Winamp automatisieren</a>.</p>
<h3 id="msgbox">Wie können die Namen der <a href="commands/MsgBox.htm">MsgBox</a>-Schaltflächen geändert werden?</h3>
<p>Hier dazu ein <a href="scripts/index.htm#MsgBoxButtonNames">Beispiel</a>.</p>
<h3 id="DefaultEditor">Wie kann ich den Standard-Texteditor ändern, den man via Kontextmenü oder Tray-Symbol öffnen kann?</h3>
<p>Im Beispiel-Bereich von <a href="commands/Edit.htm">Edit</a> finden Sie ein Skript, mit dem der Standard-Texteditor geändert werden kann.</p>
<h3 id="GuiSubmit">Wie kann ich die Inhalte der Steuerelemente in ihre zugeordneten Variablen speichern?</h3>
<p>Mit <a href="commands/Gui.htm#Submit">Gui Submit</a>. Zum Beispiel:</p>
<pre>Gui, Add, Text,, Tragen Sie etwas Text ein und drücken Sie Submit:
Gui, Add, Edit, vZugeordneteVar
Gui, Add, Button,, Submit
Gui, Show
Return
ButtonSubmit:
Gui, Submit, NoHide
MsgBox, Inhalt des Edit-Steuerelements: %ZugeordneteVar%
Return</pre>
<h3 id="GDIPlus">Kann ich mit AHK etwas zeichnen?</h3>
<p>Siehe <a href="https://www.autohotkey.com/forum/topic32238.html">GDI+ standard library</a> von tic. Mit Gui kann auch etwas gezeichnet werden, allerdings auf sehr rudimentärer Weise.</p>
<h3 id="WinWaitAction">Wie kann ich eine Aktion starten, wenn ein Fenster erscheint, geschlossen oder [in]aktiv wird?</h3>
<p>Mit <a href="commands/WinWait.htm">WinWait</a>, <a href="commands/WinWaitClose.htm">WinWaitClose</a> oder <a href="commands/WinWaitActive.htm">WinWait[Not]Active</a>.</p>
<p>Es gibt auch vom Benutzer erstellte Lösungen wie <a href="https://www.autohotkey.com/boards/viewtopic.php?f=6&t=6463">OnWin.ahk</a> und <a href="https://www.autohotkey.com/board/topic/80644-how-to-hook-on-to-shell-to-receive-its-messages/">[How to] Hook on to Shell to receive its messages</a> (wie man auf Shell zugreifen kann, um dessen Meldungen abzurufen).</p>
<h2 id="hotkeys-hotstrings-and-remapping">Hotkeys, Hotstrings und Neubelegung</h2>
<h3 id="Startup">Wie können meine Hotkeys und Hotstrings automatisch bei jedem PC-Start ausgeführt werden?</h3>
<p>Es gibt mehrere Möglichkeiten, wie man ein Skript (oder ein beliebiges Programm) ausführt, während Windows gestartet wird. Der einfachste Weg ist es, eine Verknüpfung der Skriptdatei im Autostart-Ordner zu platzieren:</p>
<ol>
<li>Finden Sie die Skript-Datei, markieren Sie sie und drücken Sie <kbd>Strg</kbd>+<kbd>C</kbd>.</li>
<li>Drücken Sie <kbd>Win</kbd>+<kbd>R</kbd>, um das Ausführen-Dialogfenster zu öffnen, geben Sie <code>shell:startup</code> ein und klicken Sie auf OK oder drücken Sie <kbd>Enter</kbd>. Daraufhin öffnet sich der Autostart-Ordner des aktuellen Benutzers. Um stattdessen den Ordner für alle Benutzer zu öffnen, geben Sie <code>shell:common startup</code> ein (in diesem Fall müssen Sie jedoch über administrative Rechte verfügen).</li>
<li>Machen Sie einen Rechtsklick innerhalb des Fensters und klicken Sie auf "Verknüpfung einfügen". Die Verknüpfung des Skripts sollte nun im Autostart-Ordner sein.</li>
</ol>
<h3 id="HotMouse">Ich habe Schwierigkeiten, meine Maustasten als Hotkeys zu definieren. Irgendwelche Hinweise?</h3>
<p>Die linke und rechte Maustaste sollten normal zuweisbar sein (zum Beispiel wäre <code>#LButton::</code> der Hotkey <kbd>Win</kbd>+MAUSTASTE-LINKS). Die mittlere Maustaste und das <a href="KeyList.htm">Mausrad</a> sollten auch normal zuweisbar sein, außer bei Mäusen, deren Tasten direkt vom Treiber gesteuert werden.</p>
<p> Die vierte (XButton1) und fünfte Maustaste (XButton2) sind möglicherweise auch zuweisbar, sofern Ihr Maustreiber diese Klicks für das System <a href="commands/KeyHistory.htm">erkennbar</a> macht. Wenn das System diese Tasten nicht erkennen kann (oder wenn neben den 5 Haupttasten noch andere Maustasten erkennbar gemacht werden sollen), kann man versuchen, die Maus so einzustellen, dass sie Tastendrücke sendet, wenn bestimmte Maustasten gedrückt werden (häufig via mitgelieferte Software, die in der Systemsteuerung oder im Startmenü zu finden ist). Danach könnte man solche Tastendrücke in einem Skript als Hotkey definieren. Wenn man beispielsweise die vierte Maustaste <kbd>Strg</kbd>+<kbd>F1</kbd> senden lässt, kann man sie mithilfe von <code>^F1::</code> im Skript indirekt als Hotkey definieren.</p>
<p>Wenn das System die vierte und fünfte Maustaste einer 5-Tasten-Maus nicht <a href="commands/KeyHistory.htm">erkennen</a> kann, kann man versuchen, den Maustreiber mit dem Standardtreiber des Betriebssystems zu ersetzen. Das setzt voraus, dass so ein Treiber für Ihre Maus vorhanden ist und dass Sie ohne den mitgelieferten Features von der Software leben können.</p>
<h3 id="HotSymb">Wie können TAB und LEERTASTE als Hotkeys definiert werden?</h3>
<p>Benutzen Sie die englischen Namen von diesen Tasten (Tab und Space). Zum Beispiel wäre <code>#Space</code> <kbd>Win</kbd>+<kbd>Leer</kbd> und <code>^!Tab</code> <kbd>Strg</kbd>+<kbd>Alt</kbd>+<kbd>Tab</kbd>.</p>
<h3 id="Remap">Wie können Tastatur- oder Maustasten neu belegt werden, so dass sie zu anderen Tasten werden?</h3>
<p>Das wird auf der Seite "<a href="misc/Remap.htm">Neubelegung von Tasten</a>" beschrieben.</p>
<h3 id="DoublePress">Wie kann ich einen doppelten Tastendruck oder Mausklick erkennen?</h3>
<p>Verwenden Sie die <a href="Variables.htm#h">internen Variablen für Hotkeys</a> wie folgt:</p>
<pre>~Ctrl::
if (A_ThisHotkey = A_PriorHotkey && A_TimeSincePriorHotkey < 200)
MsgBox Doppeldruck
return</pre>
<h3 id="HotContext">Wie kann ein <a href="Hotkeys.htm">Hotkey</a> oder <a href="Hotstrings.htm">Hotstring</a> exklusiv für ein bestimmtes Programm gemacht werden? Mit anderen Worten möchte ich eine bestimmte Taste dazu bringen, etwas anderes zu tun, wenn ein bestimmtes Fenster aktiv ist.</h3>
<p>Die bevorzugte Methode ist <a href="commands/_IfWinActive.htm">#IfWinActive</a>. Zum Beispiel:</p>
<pre>#IfWinActive, ahk_class Notepad
^a::MsgBox Sie haben STRG+A gedrückt, während der Editor aktiv ist.
</pre>
<h3 id="HotPrefix">Wie kann man eine sonst funktionslose Präfix-Taste dazu bringen, ihre ursprüngliche Funktion durchzuführen?</h3>
<p>Das folgende Beispiel macht Numpad0 zu einer Präfix-Taste:</p>
<pre>Numpad0 & Numpad1::MsgBox, Sie haben Numpad1 gedrückt, während Sie Numpad0 gedrückt hielten.</pre>
<p>Um Numpad0 nun dazu zu bringen, immer dann einen echten Numpad0-Tastendruck zu senden, wenn die Taste nicht zum Starten eines Hotkeys wie oben benötigt wird, fügen Sie den folgenden Hotkey hinzu:</p>
<pre> $Numpad0::Send, {Numpad0}</pre>
<p>Das $-Präfix ist notwendig, um ein Warndialogfenster im Falle einer Endlosschleife zu unterdrücken (da der Hotkey "sich selbst sendet"). Darüber hinaus wird die obere Aktion erst ausgelöst, wenn die Taste <strong>losgelassen</strong> wird.</p>
<h3 id="HotOverride">Wie können die systeminternen Tastenkürzel wie WIN+U (Eingabehilfe) und WIN+R (Ausführen) geändert oder deaktiviert werden?</h3>
<p>Hier dazu einige <a href="misc/Override.htm">Beispiele</a>.</p>
<h3 id="HotRegex">Kann ich Platzhalter oder reguläre Ausdrücke in Hotstrings verwenden?</h3>
<p>Verwenden Sie das <a href="https://github.com/polyethene/AutoHotkey-Scripts/blob/master/Hotstrings.ahk">Skript</a> von polyethene (Beispiele sind enthalten).</p>
<h3 id="SpecialKey">Wie kann ich einen Hotkey verwenden, der nicht auf meinem Tastaturlayout vorkommt?</h3>
<p>Siehe <a href="KeyList.htm#SpecialKeys">Sondertasten</a>.</p>
<h3 id="HotZero">Meine Tastatur hat die 000-Taste. Ist es möglich, diese Taste in ein Hotkey umzuwandeln?</h3>
<p>Ja. Dieses <a href="scripts/index.htm#Numpad000">Beispiel-Skript</a> lässt die <kbd>000</kbd>-Taste ein Gleichheitszeichen senden. Um stattdessen eine andere Aktion ausführen zu lassen, ersetzen Sie <code>Send, =</code> mit eine oder mehrere Zeilen Ihrer Wahl.</p>
</body>
</html>