The response has been limited to 50k tokens of the smallest files in the repo. You can remove this limitation by removing the max tokens filter.
├── .gitignore
├── Project.hhp
├── compile_chm.ahk
├── docs
    ├── 404.htm
    ├── AHKL_ChangeLog.htm
    ├── AHKL_DBGPClients.htm
    ├── AHKL_Features.htm
    ├── ChangeLogHelp.htm
    ├── Compat.htm
    ├── Concepts.htm
    ├── FAQ.htm
    ├── Functions.htm
    ├── HotkeyFeatures.htm
    ├── Hotkeys.htm
    ├── Hotstrings.htm
    ├── KeyList.htm
    ├── Language.htm
    ├── Objects.htm
    ├── Program.htm
    ├── Scripts.htm
    ├── Tutorial.htm
    ├── Variables.htm
    ├── Welcome.htm
    ├── index.htm
    ├── lib
    │   ├── Asc.htm
    │   ├── AutoTrim.htm
    │   ├── Block.htm
    │   ├── BlockInput.htm
    │   ├── Break.htm
    │   ├── Catch.htm
    │   ├── Chr.htm
    │   ├── Click.htm
    │   ├── ClipWait.htm
    │   ├── ComObjActive.htm
    │   ├── ComObjArray.htm
    │   ├── ComObjConnect.htm
    │   ├── ComObjCreate.htm
    │   ├── ComObjError.htm
    │   ├── ComObjFlags.htm
    │   ├── ComObjGet.htm
    │   ├── ComObjQuery.htm
    │   ├── ComObjType.htm
    │   ├── ComObjValue.htm
    │   ├── Continue.htm
    │   ├── Control.htm
    │   ├── ControlClick.htm
    │   ├── ControlFocus.htm
    │   ├── ControlGet.htm
    │   ├── ControlGetFocus.htm
    │   ├── ControlGetPos.htm
    │   ├── ControlGetText.htm
    │   ├── ControlMove.htm
    │   ├── ControlSend.htm
    │   ├── ControlSetText.htm
    │   ├── CoordMode.htm
    │   ├── Critical.htm
    │   ├── DetectHiddenText.htm
    │   ├── DetectHiddenWindows.htm
    │   ├── DllCall.htm
    │   ├── Drive.htm
    │   ├── DriveGet.htm
    │   ├── DriveSpaceFree.htm
    │   ├── Edit.htm
    │   ├── Else.htm
    │   ├── Enumerator.htm
    │   ├── EnvAdd.htm
    │   ├── EnvDiv.htm
    │   ├── EnvGet.htm
    │   ├── EnvMult.htm
    │   ├── EnvSet.htm
    │   ├── EnvSub.htm
    │   ├── EnvUpdate.htm
    │   ├── Exit.htm
    │   ├── ExitApp.htm
    │   ├── File.htm
    │   ├── FileAppend.htm
    │   ├── FileCopy.htm
    │   ├── FileCopyDir.htm
    │   ├── FileCreateDir.htm
    │   ├── FileCreateShortcut.htm
    │   ├── FileDelete.htm
    │   ├── FileEncoding.htm
    │   ├── FileExist.htm
    │   ├── FileGetAttrib.htm
    │   ├── FileGetShortcut.htm
    │   ├── FileGetSize.htm
    │   ├── FileGetTime.htm
    │   ├── FileGetVersion.htm
    │   ├── FileInstall.htm
    │   ├── FileMove.htm
    │   ├── FileMoveDir.htm
    │   ├── FileOpen.htm
    │   ├── FileRead.htm
    │   ├── FileReadLine.htm
    │   ├── FileRecycle.htm
    │   ├── FileRecycleEmpty.htm
    │   ├── FileRemoveDir.htm
    │   ├── FileSelectFile.htm
    │   ├── FileSelectFolder.htm
    │   ├── FileSetAttrib.htm
    │   ├── FileSetTime.htm
    │   ├── Finally.htm
    │   ├── For.htm
    │   ├── Format.htm
    │   ├── FormatTime.htm
    │   ├── Func.htm
    │   ├── GetKey.htm
    │   ├── GetKeyState.htm
    │   ├── Gosub.htm
    │   ├── Goto.htm
    │   ├── GroupActivate.htm
    │   ├── GroupAdd.htm
    │   ├── GroupClose.htm
    │   ├── GroupDeactivate.htm
    │   ├── Gui.htm
    │   ├── GuiControl.htm
    │   ├── GuiControlGet.htm
    │   ├── GuiControls.htm
    │   ├── Hotkey.htm
    │   ├── Hotstring.htm
    │   ├── IfBetween.htm
    │   ├── IfEqual.htm
    │   ├── IfExist.htm
    │   ├── IfExpression.htm
    │   ├── IfIn.htm
    │   ├── IfInString.htm
    │   ├── IfIs.htm
    │   ├── IfMsgBox.htm
    │   ├── IfWinActive.htm
    │   ├── IfWinExist.htm
    │   ├── ImageSearch.htm
    │   ├── InStr.htm
    │   ├── IniDelete.htm
    │   ├── IniRead.htm
    │   ├── IniWrite.htm
    │   ├── Input.htm
    │   ├── InputBox.htm
    │   ├── InputHook.htm
    │   ├── IsByRef.htm
    │   ├── IsFunc.htm
    │   ├── IsLabel.htm
    │   ├── IsObject.htm
    │   ├── IsSet.htm
    │   ├── KeyHistory.htm
    │   ├── KeyWait.htm
    │   ├── ListHotkeys.htm
    │   ├── ListLines.htm
    │   ├── ListVars.htm
    │   ├── ListView.htm
    │   ├── LoadPicture.htm
    │   ├── Loop.htm
    │   ├── LoopFile.htm
    │   ├── LoopParse.htm
    │   ├── LoopReadFile.htm
    │   ├── LoopReg.htm
    │   ├── Math.htm
    │   ├── Menu.htm
    │   ├── MenuGetHandle.htm
    │   ├── MenuGetName.htm
    │   ├── MouseClick.htm
    │   ├── MouseClickDrag.htm
    │   ├── MouseGetPos.htm
    │   ├── MouseMove.htm
    │   ├── MsgBox.htm
    │   ├── NumGet.htm
    │   ├── NumPut.htm
    │   ├── ObjAddRef.htm
    │   ├── ObjBindMethod.htm
    │   ├── Object.htm
    │   ├── OnClipboardChange.htm
    │   ├── OnError.htm
    │   ├── OnExit.htm
    │   ├── OnMessage.htm
    │   ├── Ord.htm
    │   ├── OutputDebug.htm
    │   ├── Pause.htm
    │   ├── PixelGetColor.htm
    │   ├── PixelSearch.htm
    │   ├── PostMessage.htm
    │   ├── Process.htm
    │   ├── Progress.htm
    │   ├── Random.htm
    │   ├── RegDelete.htm
    │   ├── RegExMatch.htm
    │   ├── RegExReplace.htm
    │   ├── RegRead.htm
    │   ├── RegWrite.htm
    │   ├── RegisterCallback.htm
    │   ├── Reload.htm
    │   ├── Return.htm
    │   ├── Run.htm
    │   ├── RunAs.htm
    │   ├── Send.htm
    │   ├── SendLevel.htm
    │   ├── SendMode.htm
    │   ├── SetBatchLines.htm
    │   ├── SetControlDelay.htm
    │   ├── SetDefaultMouseSpeed.htm
    │   ├── SetEnv.htm
    │   ├── SetExpression.htm
    │   ├── SetFormat.htm
    │   ├── SetKeyDelay.htm
    │   ├── SetMouseDelay.htm
    │   ├── SetNumScrollCapsLockState.htm
    │   ├── SetRegView.htm
    │   ├── SetStoreCapsLockMode.htm
    │   ├── SetTimer.htm
    │   ├── SetTitleMatchMode.htm
    │   ├── SetWinDelay.htm
    │   ├── SetWorkingDir.htm
    │   ├── Shutdown.htm
    │   ├── Sleep.htm
    │   ├── Sort.htm
    │   ├── SoundBeep.htm
    │   ├── SoundGet.htm
    │   ├── SoundGetWaveVolume.htm
    │   ├── SoundPlay.htm
    │   ├── SoundSet.htm
    │   ├── SoundSetWaveVolume.htm
    │   ├── SplashTextOn.htm
    │   ├── SplitPath.htm
    │   ├── StatusBarGetText.htm
    │   ├── StatusBarWait.htm
    │   ├── StrGet.htm
    │   ├── StrLen.htm
    │   ├── StrPut.htm
    │   ├── StrReplace.htm
    │   ├── StrSplit.htm
    │   ├── StringCaseSense.htm
    │   ├── StringGetPos.htm
    │   ├── StringLeft.htm
    │   ├── StringLen.htm
    │   ├── StringLower.htm
    │   ├── StringMid.htm
    │   ├── StringReplace.htm
    │   ├── StringSplit.htm
    │   ├── StringTrimLeft.htm
    │   ├── SubStr.htm
    │   ├── Suspend.htm
    │   ├── Switch.htm
    │   ├── SysGet.htm
    │   ├── Thread.htm
    │   ├── Throw.htm
    │   ├── ToolTip.htm
    │   ├── Transform.htm
    │   ├── TrayTip.htm
    │   ├── TreeView.htm
    │   ├── Trim.htm
    │   ├── Try.htm
    │   ├── URLDownloadToFile.htm
    │   ├── Until.htm
    │   ├── VarSetCapacity.htm
    │   ├── VerCompare.htm
    │   ├── While.htm
    │   ├── WinActivate.htm
    │   ├── WinActivateBottom.htm
    │   ├── WinActive.htm
    │   ├── WinClose.htm
    │   ├── WinExist.htm
    │   ├── WinGet.htm
    │   ├── WinGetActiveStats.htm
    │   ├── WinGetActiveTitle.htm
    │   ├── WinGetClass.htm
    │   ├── WinGetPos.htm
    │   ├── WinGetText.htm
    │   ├── WinGetTitle.htm
    │   ├── WinHide.htm
    │   ├── WinKill.htm
    │   ├── WinMaximize.htm
    │   ├── WinMenuSelectItem.htm
    │   ├── WinMinimize.htm
    │   ├── WinMinimizeAll.htm
    │   ├── WinMove.htm
    │   ├── WinRestore.htm
    │   ├── WinSet.htm
    │   ├── WinSetTitle.htm
    │   ├── WinShow.htm
    │   ├── WinWait.htm
    │   ├── WinWaitActive.htm
    │   ├── WinWaitClose.htm
    │   ├── _AllowSameLineComments.htm
    │   ├── _ClipboardTimeout.htm
    │   ├── _CommentFlag.htm
    │   ├── _ErrorStdOut.htm
    │   ├── _EscapeChar.htm
    │   ├── _HotkeyInterval.htm
    │   ├── _HotkeyModifierTimeout.htm
    │   ├── _Hotstring.htm
    │   ├── _If.htm
    │   ├── _IfTimeout.htm
    │   ├── _IfWinActive.htm
    │   ├── _Include.htm
    │   ├── _InputLevel.htm
    │   ├── _InstallKeybdHook.htm
    │   ├── _InstallMouseHook.htm
    │   ├── _KeyHistory.htm
    │   ├── _MaxHotkeysPerInterval.htm
    │   ├── _MaxMem.htm
    │   ├── _MaxThreads.htm
    │   ├── _MaxThreadsBuffer.htm
    │   ├── _MaxThreadsPerHotkey.htm
    │   ├── _MenuMaskKey.htm
    │   ├── _NoEnv.htm
    │   ├── _NoTrayIcon.htm
    │   ├── _Persistent.htm
    │   ├── _Requires.htm
    │   ├── _SingleInstance.htm
    │   ├── _UseHook.htm
    │   ├── _Warn.htm
    │   ├── _WinActivateForce.htm
    │   └── index.htm
    ├── license.htm
    ├── misc
    │   ├── Acknowledgements.htm
    │   ├── Ahk2ExeDirectives.htm
    │   ├── Arrays.htm
    │   ├── AutoIt2Compat.htm
    │   ├── CLSID-List.htm
    │   ├── Clipboard.htm
    │   ├── DPIScaling.htm
    │   ├── ErrorLevel.htm
    │   ├── EscapeChar.htm
    │   ├── FontsStandard.htm
    │   ├── Functor.htm
    │   ├── ImageHandles.htm
    │   ├── Labels.htm
    │   ├── Languages.htm
    │   ├── LongPaths.htm
    │   ├── Macros.htm
    │   ├── Override.htm
    │   ├── Performance.htm
    │   ├── RegEx-QuickRef.htm
    │   ├── RegExCallout.htm
    │   ├── Remap.htm
    │   ├── RemapController.htm
    │   ├── SendMessage.htm
    │   ├── SendMessageList.htm
    │   ├── Styles.htm
    │   ├── Threads.htm
    │   ├── WinTitle.htm
    │   ├── Winamp.htm
    │   └── remove-userchoice.reg
    ├── scripts
    │   ├── ContextSensitiveHelp.ahk
    │   ├── ContextSensitiveHelp.htm
    │   ├── ControllerMouse.ahk
    │   ├── ControllerTest.ahk
    │   ├── EasyWindowDrag.ahk
    │   ├── EasyWindowDrag.htm
    │   ├── EasyWindowDrag_(KDE).ahk
    │   ├── EasyWindowDrag_(KDE).htm
    │   ├── EncodeHTML.ahk
    │   ├── FavoriteFolders.ahk
    │   ├── FavoriteFolders.htm
    │   ├── IntelliSense.ahk
    │   ├── IntelliSense.htm
    │   ├── JoystickMouse.htm
    │   ├── JoystickTest.htm
    │   ├── KeyboardOnScreen.ahk
    │   ├── KeyboardOnScreen.htm
    │   ├── MinimizeToTrayMenu.ahk
    │   ├── MinimizeToTrayMenu.htm
    │   ├── MouseGestures.htm
    │   ├── MouseGestures.zip
    │   ├── MsgBoxButtonNames.ahk
    │   ├── MsgBoxButtonNames.htm
    │   ├── Numpad000.ahk
    │   ├── Numpad000.htm
    │   ├── NumpadMouse.ahk
    │   ├── NumpadMouse.htm
    │   ├── Seek_(SearchTheStartMenu).ahk
    │   ├── Seek_(SearchTheStartMenu).htm
    │   ├── TooltipMouseMenu.ahk
    │   ├── TooltipMouseMenu.htm
    │   ├── UpDownCustomIncrements.ahk
    │   ├── VolumeOSD.ahk
    │   ├── VolumeOSD.htm
    │   ├── WinLIRC.ahk
    │   ├── WinLIRC.htm
    │   ├── WindowShading.ahk
    │   ├── WindowShading.htm
    │   └── index.htm
    ├── search.htm
    ├── settings.htm
    └── static
    │   ├── ahk16.png
    │   ├── ahk16_pause.png
    │   ├── ahk16_pause_suspend.png
    │   ├── ahk16_suspend.png
    │   ├── ahk_logo.png
    │   ├── ahk_logo.svg
    │   ├── ahk_logo_no_text.png
    │   ├── ahkfile16.png
    │   ├── content.css
    │   ├── content.js
    │   ├── ctrl_button.png
    │   ├── ctrl_check.png
    │   ├── ctrl_combo.png
    │   ├── ctrl_datetime.png
    │   ├── ctrl_ddl.png
    │   ├── ctrl_edit.png
    │   ├── ctrl_group.png
    │   ├── ctrl_hotkey.png
    │   ├── ctrl_link.png
    │   ├── ctrl_list.png
    │   ├── ctrl_listview.png
    │   ├── ctrl_menu.png
    │   ├── ctrl_monthcal.png
    │   ├── ctrl_progress.png
    │   ├── ctrl_radio.png
    │   ├── ctrl_slider.png
    │   ├── ctrl_status.png
    │   ├── ctrl_tab.png
    │   ├── ctrl_text.png
    │   ├── ctrl_treeview.png
    │   ├── ctrl_updown.png
    │   ├── dark.css
    │   ├── dlg_file.png
    │   ├── dlg_folder.png
    │   ├── dlg_input.png
    │   ├── dlg_message.png
    │   ├── dlg_tooltip.png
    │   ├── dlg_traytip.png
    │   ├── fonts
    │       ├── icons.eot
    │       ├── icons.svg
    │       ├── icons.ttf
    │       └── icons.woff
    │   ├── highlighter
    │       ├── dark.css
    │       ├── highlighter.css
    │       ├── highlighter.js
    │       └── light.css
    │   ├── source
    │       ├── build_search.ahk
    │       ├── check_data.ahk
    │       ├── data_deprecate.js
    │       ├── data_index.js
    │       ├── data_search.js
    │       ├── data_toc.js
    │       └── data_translate.js
    │   └── theme.css
└── index.html


/.gitignore:
--------------------------------------------------------------------------------
1 | *.chm
2 | # Ignore auto-generated files
3 | Index.hhk
4 | Table of Contents.hhc
5 | 


--------------------------------------------------------------------------------
/Project.hhp:
--------------------------------------------------------------------------------
 1 | [OPTIONS]
 2 | Binary Index=No
 3 | Compatibility=1.1 or later
 4 | Compiled file=AutoHotkey.chm
 5 | Default Window=Contents
 6 | Default topic=docs\index.htm
 7 | Display compile progress=No
 8 | Full-text search=Yes
 9 | Index file=Index.hhk
10 | Language=0x409 English (United States)
11 | Title=AutoHotkey Help
12 | 
13 | [WINDOWS]
14 | Contents="AutoHotkey Help",,,"docs\index.htm","docs\index.htm",,,,,0x73500,,0x10200e,[200,0,1080,700],,,,,3,,0
15 | 
16 | 
17 | [FILES]
18 | docs\search.htm
19 | docs\settings.htm
20 | docs\static\content.css
21 | docs\static\dark.css
22 | docs\static\ahk_logo.png
23 | docs\static\fonts\icons.eot
24 | docs\static\fonts\icons.svg
25 | docs\static\fonts\icons.ttf
26 | docs\static\fonts\icons.woff
27 | docs\static\highlighter\dark.css
28 | docs\static\highlighter\highlighter.css
29 | docs\static\highlighter\highlighter.js
30 | docs\static\highlighter\light.css
31 | docs\static\source\data_translate.js
32 | docs\static\source\data_search.js
33 | docs\static\source\data_toc.js
34 | docs\static\source\data_index.js
35 | docs\static\source\data_deprecate.js
36 | NUL
37 | 
38 | [INFOTYPES]
39 | 


--------------------------------------------------------------------------------
/docs/404.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <!-- This page serves as support for the real 404 handling. For example, GitHub Pages only allows the 404 page in the root of the website. The root's 404 page could then redirect to the docs' 404 page if the URL points to a missing document. See https://github.com/ahkde/ahkde.github.io/blob/master/404.html for what that might look like. -->
 3 | <html lang="en">
 4 | 
 5 | <head>
 6 |   <meta name="robots" content="noindex, nofollow" />
 7 |   <meta http-equiv="content-type" content="text/html; charset=UTF-8">
 8 |   <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 |   <link href="static/theme.css" rel="stylesheet" type="text/css" />
10 |   <script src="static/content.js" type="text/javascript"></script>
11 | </head>
12 | 
13 | <body>
14 | <h1 style="border: none; font-size: 300%; font-weight: normal;">404 - File not found</h1>
15 | <p>Looks like the document you're looking for doesn't exist.</p>
16 | </body>
17 | 
18 | </html>
19 | 


--------------------------------------------------------------------------------
/docs/Welcome.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 |   <meta name="ahk:equiv-v2" content="index.htm" />
 5 |   <meta http-equiv="X-UA-Compatible" content="IE=edge">
 6 |   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 |   <title>Welcome to AutoHotkey</title>
 8 |   <meta name="robots" content="noindex, nofollow" />
 9 |   <link href="static/theme.css" rel="stylesheet" type="text/css" />
10 |   <style>
11 |   h1, h2 {
12 |     border: none;
13 |   }
14 |   h1 {
15 |     font-size: 300%;
16 |     font-weight: normal;
17 |   }
18 |   .emlink {
19 |     font-weight: bold;
20 |   }
21 |   #container {
22 |     padding: 10% 20%;
23 |   }
24 |   </style>
25 |   <script src="static/content.js" type="text/javascript"></script>
26 | </head>
27 | <body>
28 | 
29 | <a id="ahklogo"><img src="static/ahk_logo.svg" onerror="this.src='static/ahk_logo.png'; this.onerror=null;" alt="AutoHotkey"></a>
30 | 
31 | <div id="container">
32 |   <h1 id="welcome">Welcome...</h1>
33 |   
34 |   <h2 id="Getting_Started">Getting Started</h2>
35 |   <p>Before AutoHotkey can do anything, you need to write a script telling it what to do.<br>
36 |   To learn how, read <a class="emlink" href="Tutorial.htm">the tutorial</a> or <a href="Scripts.htm">dive straight in</a>.</p>
37 |   <p>Basically: <a href="Tutorial.htm#s12">create a script file</a> &rarr; <a href="Tutorial.htm#s2">add some hotkeys</a> &rarr; run the script file.</p>
38 |   <p>You can also get help or find many useful scripts on <a href="https://www.autohotkey.com/boards/">our friendly discussion forum</a>.</p>
39 |   
40 |   <h2 id="Why_am_I_seeing_this" style="margin-top: 1.5em">Why am I seeing this?</h2>
41 |   <div id="why">
42 |   <p>You ran AutoHotkey without <a href="Scripts.htm#cmd">telling it</a> which script file to run, and it couldn't find a script in either of <a href="Scripts.htm#defaultfile">the usual places</a>.</p>
43 |   </div>
44 |   
45 | </div>
46 | 
47 | </body>
48 | </html>


--------------------------------------------------------------------------------
/docs/lib/Asc.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>Asc() - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The Asc function returns the numeric value of the first byte or UTF-16 code unit in the specified string." />
 6 | <meta name="ahk:equiv-v2" content="lib/Ord.htm" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>Asc()</h1>
15 | 
16 | <p>Returns the numeric value of the first byte or UTF-16 code unit in the specified string.</p>
17 | 
18 | <pre class="Syntax">Number := <span class="func">Asc</span>(String)</pre>
19 | <h2 id="Parameters">Parameters</h2>
20 | <dl>
21 | 
22 |   <dt>String</dt>
23 |   <dd><p>The string whose numeric value is retrieved.</p></dd>
24 | 
25 | </dl>
26 | 
27 | <h2 id="Return_Value">Return Value</h2>
28 | <p>This function returns a numeric value in the range 0 to 255 (for ANSI) or 0 to 0xFFFF (for Unicode). See <a href="../Compat.htm#Format">Unicode vs ANSI</a> for details. If <em>String</em> is empty, it returns 0.</p>
29 | 
30 | <h2 id="Remarks">Remarks</h2>
31 | <p>This function is equivalent to <code>Transform, OutputVar, Asc</code>.</p>
32 | <p>To allow for Unicode supplementary characters, use <a href="Ord.htm">Ord(String)</a> instead.</p>
33 | 
34 | <h2 id="Related">Related</h2>
35 | <p><a href="Transform.htm">Transform</a>, <a href="Ord.htm">Ord()</a>, <a href="Chr.htm">Chr()</a></p>
36 | <h2 id="Examples">Examples</h2>
37 | <div class="ex" id="ExBasic">
38 | <p><a class="ex_number" href="#ExBasic"></a> Both message boxes below show 116, because only the first character is considered.</p>
39 | <pre>MsgBox, % Asc("t") 
40 | MsgBox, % Asc("test")</pre>
41 | </div>
42 | 
43 | </body>
44 | </html>
45 | 


--------------------------------------------------------------------------------
/docs/lib/Break.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>Break - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The Break statement exits (terminates) any type of loop statement." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>Break</h1>
14 | <p>Exits (terminates) any type of <a href="../Language.htm#loop-statement">loop statement</a>.</p>
15 | <pre class="Syntax"><span class="func">Break</span> <span class="optional">, LoopLabel</span></pre>
16 | 
17 | <h2 id="Parameters">Parameters</h2>
18 | <dl>
19 |   <dt>LoopLabel <span class="ver">[AHK_L 59+]</span></dt>
20 |   <dd>If omitted or 1, this statement applies to the innermost loop in which it is enclosed. Otherwise, specify which loop this statement should apply to; either by <a href="../misc/Labels.htm">label name</a> or numeric nesting level. <em>LoopLabel</em> must be a constant value - variables and expressions are not supported. If a <a href="../misc/Labels.htm">label</a> is specified, it must point directly at a <a href="../Language.htm#loop-statement">loop statement</a>.</dd>
21 | </dl>
22 | 
23 | <h2 id="Remarks">Remarks</h2>
24 | <p>The use of Break and <a href="Continue.htm">Continue</a> are encouraged over <a href="Goto.htm">Goto</a> since they usually make scripts more readable and maintainable.</p>
25 | <h2 id="Related">Related</h2>
26 | <p><a href="Continue.htm">Continue</a>, <a href="Loop.htm">Loop</a>, <a href="While.htm">While-loop</a>, <a href="For.htm">For-loop</a>, <a href="Block.htm">Blocks</a>, <a href="../misc/Labels.htm">Labels</a></p>
27 | 
28 | <h2 id="Examples">Examples</h2>
29 | <div class="ex" id="ExBasic">
30 | <p><a class="ex_number" href="#ExBasic"></a> Breaks the loop if <var>var</var> is greater than 25.</p>
31 | <pre>Loop
32 | {
33 |     <em>; ...</em>
34 |     if (var &gt; 25)
35 |         break
36 |     <em>; ...</em>
37 |     if (var &lt;= 5)
38 |         continue
39 | }</pre>
40 | </div>
41 | 
42 | <div class="ex" id="ExBreakOuter">
43 | <p><a class="ex_number" href="#ExBreakOuter"></a> Breaks the outer loop from within a nested loop.</p>
44 | <pre>outer:
45 | Loop 3
46 | {
47 |     x := A_Index
48 |     Loop 3
49 |     {
50 |         if (x*A_Index = 6)
51 |             break outer  <em>; Equivalent to <b>break 2</b> or <b>goto break_outer</b>.</em>
52 |         MsgBox %x%,%A_Index%
53 |     }
54 | }
55 | break_outer: <em>; For goto.</em>
56 | </pre>
57 | </div>
58 | 
59 | </body>
60 | </html>
61 | 


--------------------------------------------------------------------------------
/docs/lib/Chr.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>Chr() - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The Chr function returns the string (usually a single character) corresponding to the character code indicated by the specified number." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>Chr()</h1>
14 | 
15 | <p>Returns the string (usually a single character) corresponding to the character code indicated by the specified number.</p>
16 | 
17 | <pre class="Syntax">String := <span class="func">Chr</span>(Number)</pre>
18 | <h2 id="Parameters">Parameters</h2>
19 | <dl>
20 | 
21 |   <dt>Number</dt>
22 |   <dd><p>If Unicode is supported, <em>Number</em> is a Unicode character code between 0 and 0x10FFFF (or 0xFFFF prior to <span class="ver">[v1.1.21]</span>); otherwise it is an ANSI character code between 0 and 255.</p></dd>
23 | 
24 | </dl>
25 | 
26 | <h2 id="Return_Value">Return Value</h2>
27 | <p>This function returns a string corresponding to <em>Number</em>. If <em>Number</em> is not in the valid range of character codes, an empty string is returned.</p>
28 | 
29 | <h2 id="Remarks">Remarks</h2>
30 | <p>This function supersedes <a href="Transform.htm#Chr">Transform, OutputVar, Chr</a>.</p>
31 | <p>The meaning of character codes greater than 127 depends on the <a href="../Compat.htm#Format">string encoding</a> in use, which in turn depends on whether a <a href="../Variables.htm#IsUnicode">Unicode or ANSI</a> executable is in use.</p>
32 | <p>Common character codes include 9 (tab), 10 (linefeed), 13 (carriage return), 32 (space), 48-57 (the digits 0-9), 65-90 (uppercase A-Z), and 97-122 (lowercase a-z).</p>
33 | 
34 | <h2 id="Related">Related</h2>
35 | <p><a href="Transform.htm">Transform</a>, <a href="Ord.htm">Ord()</a>, <a href="Asc.htm">Asc()</a></p>
36 | 
37 | <h2 id="Examples">Examples</h2>
38 | <div class="ex" id="ExBasic">
39 | <p><a class="ex_number" href="#ExBasic"></a> Reports the string corresponding to the character code 116.</p>
40 | <pre>MsgBox % Chr(116) <em>; Reports "t".</em></pre>
41 | </div>
42 | 
43 | </body>
44 | </html>
45 | 


--------------------------------------------------------------------------------
/docs/lib/ComObjCreate.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>ComObjCreate() - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The ComObjCreate function creates a COM object." />
 6 | <meta name="ahk:equiv-v2" content="lib/ComObject.htm" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>ComObjCreate() <span class="ver">[AHK_L 53+]</span></h1>
15 | <p>Creates a COM object.</p>
16 | <pre class="Syntax">ComObject := <span class="func">ComObjCreate</span>(CLSID <span class="optional">, IID</span>)</pre>
17 | 
18 | <h2 id="Parameters">Parameters</h2>
19 | <dl>
20 | 
21 |   <dt>CLSID</dt>
22 |   <dd><p>CLSID or human-readable Prog ID of the COM object to create.</p></dd>
23 | 
24 |   <dt>IID</dt>
25 |   <dd><p><span class="ver">[v1.0.96.00+]</span>: The identifier of an interface the object supports.</p></dd>
26 | 
27 | </dl>
28 | 
29 | <h2 id="Return_Value">Return Value</h2>
30 | <p>On failure, the function may throw an exception, exit the script or return an empty string, depending on the current <a href="ComObjError.htm">ComObjError()</a> setting and <a href="ComObjError.htm#factors">other factors</a>.</p>
31 | <p>If an IID is specified, an interface pointer is returned. The script must typically call <a href="ObjAddRef.htm">ObjRelease()</a> when it is finished with the pointer.</p>
32 | <p>Otherwise, a wrapper object usable by script is returned. See <a href="../Objects.htm#Usage_Objects">object syntax</a>.</p>
33 | 
34 | <h2 id="Related">Related</h2>
35 | <a href="ComObjGet.htm">ComObjGet()</a>, <a href="ComObjActive.htm">ComObjActive()</a>, <a href="ComObjConnect.htm">ComObjConnect()</a>, <a href="ComObjArray.htm">ComObjArray()</a>, <a href="ComObjError.htm">ComObjError()</a>, <a href="ComObjQuery.htm">ComObjQuery()</a>, <a href="https://learn.microsoft.com/previous-versions/dcw63t7z(v=vs.85)">CreateObject (Microsoft Docs)</a>
36 | 
37 | <h2 id="Examples">Examples</h2>
38 | <p>For a constantly growing list of examples, see the following forum topic: <a href="https://www.autohotkey.com/board/topic/56987-">https://www.autohotkey.com/board/topic/56987-</a>.</p>
39 | <div class="ex" id="ExIE">
40 | <p><a class="ex_number" href="#ExIE"></a> Launches an instance of Internet Explorer, makes it visible and navigates to a website.</p>
41 | <pre>ie := ComObjCreate("InternetExplorer.Application")
42 | ie.Visible := true  <em>; This is known to work incorrectly on IE7.</em>
43 | ie.Navigate("https://www.autohotkey.com/")
44 | </pre>
45 | </div>
46 | 
47 | </body>
48 | </html>
49 | 


--------------------------------------------------------------------------------
/docs/lib/ComObjGet.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>ComObjGet() - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The ComObjGet function returns a reference to an object provided by a COM component." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>ComObjGet() <span class="ver">[AHK_L 53+]</span></h1>
14 | <p>Returns a reference to an object provided by a COM component.</p>
15 | <pre class="Syntax">ComObject := <span class="func">ComObjGet</span>(Name)</pre>
16 | 
17 | <h2 id="Parameters">Parameters</h2>
18 | <dl>
19 | 
20 |   <dt>Name</dt>
21 |   <dd><p>The display name of the object to be retrieved. See <a href="https://learn.microsoft.com/windows/win32/api/objbase/nf-objbase-mkparsedisplayname">MkParseDisplayName (Microsoft Docs)</a> for more information.</p></dd>
22 | 
23 | </dl>
24 | 
25 | <h2 id="Remarks">Remarks</h2>
26 | <p>On failure, the function may throw an exception, exit the script or return an empty string, depending on the current <a href="ComObjError.htm">ComObjError()</a> setting and <a href="ComObjError.htm#factors">other factors</a>.</p>
27 | 
28 | <h2 id="Related">Related</h2>
29 | <a href="ComObjCreate.htm">ComObjCreate()</a>, <a href="ComObjActive.htm">ComObjActive()</a>, <a href="ComObjConnect.htm">ComObjConnect()</a>, <a href="ComObjError.htm">ComObjError()</a>, <a href="ComObjQuery.htm">ComObjQuery()</a>, <a href="https://learn.microsoft.com/windows/win32/api/objbase/nf-objbase-cogetobject">CoGetObject (Microsoft Docs)</a>
30 | 
31 | <h2 id="Examples">Examples</h2>
32 | <div class="ex" id="exwmi">
33 | <p><a class="ex_number" href="#exwmi"></a> Press <kbd>Shift</kbd>+<kbd>Esc</kbd> to show the command line which was used to launch the active window's process. Requires XP or later. For Win32_Process, see <a href="https://learn.microsoft.com/windows/win32/cimwin32prov/win32-process">Microsoft Docs</a>.</p>
34 | <pre>+Esc::
35 |     WinGet pid, PID, A
36 |     <em>; Get WMI service object.</em>
37 |     wmi := ComObjGet("winmgmts:")
38 |     <em>; Run query to retrieve matching process(es).</em>
39 |     queryEnum := wmi.ExecQuery(""
40 |         . "Select * from Win32_Process where ProcessId=" . pid)
41 |         ._NewEnum()
42 |     <em>; Get first matching process.</em>
43 |     if queryEnum[proc]
44 |         MsgBox 0, Command line, % proc.CommandLine
45 |     else
46 |         MsgBox Process not found!
47 |     <em>; Free all global objects (not necessary when using local vars).</em>
48 |     wmi := queryEnum := proc := ""
49 | return</pre>
50 | </div>
51 | 
52 | </body>
53 | </html>
54 | 


--------------------------------------------------------------------------------
/docs/lib/ComObjValue.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>ComObjValue() - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The ComObjValue function retrieves the value or pointer stored in a COM wrapper object." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>ComObjValue() <span class="ver">[v1.0.91+]</span></h1>
14 | 
15 | <p>Retrieves the value or pointer stored in a COM wrapper object.</p>
16 | 
17 | <pre class="Syntax">Value := <span class="func">ComObjValue</span>(ComObject)</pre>
18 | 
19 | <h2 id="Parameters">Parameters</h2>
20 | <dl>
21 | 
22 |   <dt>ComObject</dt>
23 |   <dd><p>A wrapper object containing a COM object or typed value.</p></dd>
24 | 
25 | </dl>
26 | 
27 | <h2 id="Return_Value">Return Value</h2>
28 | <p>This function returns a 64-bit signed integer.</p>
29 | 
30 | <h2 id="General_Remarks">General Remarks</h2>
31 | <p>This function is not intended for general use.</p>
32 | <p>Calling ComObjValue is equivalent to <code><i>variant</i>.llVal</code>, where <i>ComObject</i> is treated as a <a href="https://learn.microsoft.com/windows/win32/api/oaidl/ns-oaidl-variant">VARIANT structure</a>. Any script which uses this function must be aware what <a href="ComObjType.htm">type of value</a> the wrapper object contains and how it should be treated. For instance, if an interface pointer is returned, <a href="ObjAddRef.htm">Release</a> should not be called, but <a href="ObjAddRef.htm">AddRef</a> may be required depending on what the script does with the pointer.</p>
33 | 
34 | <h2 id="Related">Related</h2>
35 | <p><a href="ComObjType.htm">ComObjType()</a>, <a href="ComObjCreate.htm">ComObjCreate()</a>, <a href="ComObjGet.htm">ComObjGet()</a>, <a href="ComObjActive.htm">ComObjActive()</a></p>
36 | 
37 | </body>
38 | </html>
39 | 


--------------------------------------------------------------------------------
/docs/lib/DetectHiddenText.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>DetectHiddenText - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The DetectHiddenText command determines whether invisible text in a window is &quot;seen&quot; for the purpose of finding the window." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>DetectHiddenText</h1>
14 | 
15 | <p>Determines whether invisible text in a window is "seen" for the purpose of finding the window. This affects windowing commands such as <a href="WinExist.htm">WinExist()</a> and <a href="WinActivate.htm">WinActivate</a>.</p>
16 | 
17 | <pre class="Syntax"><span class="func">DetectHiddenText</span>, OnOff</pre>
18 | <h2 id="Parameters">Parameters</h2>
19 | <dl>
20 | 
21 |   <dt>OnOff</dt>
22 |   <dd>
23 |     <p>Specify one of the following words:</p>
24 |     <p><strong>On:</strong> Hidden text will be detected.</p>
25 |     <p><strong>Off:</strong> Hidden text is not detected.</p>
26 |     <p><span class="ver">[v1.1.30+]</span>: The decimal values 1 and 0 may be used in place of On and Off, respectively.</p>
27 |   </dd>
28 | 
29 | </dl>
30 | 
31 | <h2 id="Remarks">Remarks</h2>
32 | <p>If DetectHiddenText is not used, the default setting is <em>On</em>.</p>
33 | <p>"Hidden text" is a term that refers to those controls of a window that are not visible. Their text is thus considered "hidden". Turning off DetectHiddenText can be useful in cases where you want to detect the difference between the different panes of a multi-pane window or multi-tabbed dialog. Use Window Spy to determine which text of the currently-active window is hidden. All commands, built-in functions and control flow statements that accept a <em>WinText</em> parameter are affected by this setting, including <a href="WinActivate.htm">WinActivate</a>, <a href="WinActive.htm">WinActive()</a>, <a href="IfWinActive.htm">IfWinActive</a>, <a href="WinWait.htm">WinWait</a>, <a href="WinExist.htm">WinExist()</a>, and <a href="IfWinExist.htm">IfWinExist</a>.</p>
34 | <p>The built-in variable <strong>A_DetectHiddenText</strong> contains the current setting (On or Off).</p>
35 | <p>Every newly launched <a href="../misc/Threads.htm">thread</a> (such as a <a href="../Hotkeys.htm">hotkey</a>, <a href="Menu.htm">custom menu item</a>, or <a href="SetTimer.htm">timed</a> subroutine) starts off fresh with the default setting for this command. That default may be changed by using this command in the <a href="../Scripts.htm#auto">auto-execute section</a> (top part of the script).</p>
36 | <h2 id="Related">Related</h2>
37 | <p><a href="DetectHiddenWindows.htm">DetectHiddenWindows</a></p>
38 | <h2 id="Examples">Examples</h2>
39 | <div class="ex" id="ExBasic">
40 | <p><a class="ex_number" href="#ExBasic"></a> Turns off the detection of hidden text.</p>
41 | <pre>DetectHiddenText, Off</pre>
42 | </div>
43 | 
44 | </body>
45 | </html>
46 | 


--------------------------------------------------------------------------------
/docs/lib/DriveSpaceFree.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>DriveSpaceFree - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The DriveSpaceFree command retrieves the free disk space of the drive which contains the specified path, in megabytes." />
 6 | <meta name="ahk:equiv-v2" content="lib/DriveGetSpaceFree.htm" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>DriveSpaceFree</h1>
15 | 
16 | <p>Retrieves the free disk space of the drive which contains the specified path, in megabytes.</p>
17 | 
18 | <pre class="Syntax"><span class="func">DriveSpaceFree</span>, OutputVar, Path</pre>
19 | <h2 id="Parameters">Parameters</h2>
20 | <dl>
21 | 
22 |   <dt>OutputVar</dt>
23 |   <dd><p>The name of the output variable in which to store the result, which is rounded down to the nearest whole number.</p></dd>
24 | 
25 |   <dt>Path</dt>
26 |   <dd><p>Any path contained by the drive (might also work on UNC paths and mapped drives).</p></dd>
27 | 
28 | </dl>
29 | 
30 | <h2 id="Remarks">Remarks</h2>
31 | <p><em>OutputVar</em> is set to the amount of free disk space in Megabytes (rounded down to the nearest Megabyte).</p>
32 | <p>In general, <em>Path</em> can be any path. Since NTFS supports mounted volumes and directory junctions, different paths with the same drive letter can produce different amounts of free space.</p>
33 | 
34 | <h2 id="Related">Related</h2>
35 | <p><a href="Drive.htm">Drive</a>, <a href="DriveGet.htm">DriveGet</a></p>
36 | <h2 id="Examples">Examples</h2>
37 | <div class="ex" id="ExBasic">
38 | <p><a class="ex_number" href="#ExBasic"></a> Retrieves the free disk space of the C drive and stores it in <em>FreeSpace</em>.</p>
39 | <pre>DriveSpaceFree, FreeSpace, C:\</pre>
40 | </div>
41 | <div class="ex" id="ExPath">
42 | <p><a class="ex_number" href="#ExPath"></a> Retrieves and reports the free disk space of the drive which contains <a href="../Variables.htm#MyDocuments">A_MyDocuments</a>.</p>
43 | <pre>DriveSpaceFree, FreeSpace, % A_MyDocuments
44 | MsgBox % FreeSpace " MB"</pre>
45 | </div>
46 | 
47 | </body>
48 | </html>
49 | 


--------------------------------------------------------------------------------
/docs/lib/Enumerator.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>Enumerator Object - Definition &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The enumerator object allows items in a collection to be enumerated." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>Enumerator Object <span class="ver">[AHK_L 49+]</span></h1>
14 | 
15 | <p>Allows items in a collection to be enumerated.</p>
16 | 
17 | <h2 id="toc">Table of Contents</h2>
18 | <ul class="indent">
19 |   <li><a href="#Methods">Methods</a>:
20 |     <ul>
21 |       <li><a href="#Next">Next</a>: Retrieves the next item or items in an enumeration.</li>
22 |     </ul>
23 |   </li>
24 | </ul>
25 | 
26 | <h2 id="Methods">Methods</h2>
27 | <div class="methodShort">
28 | <h3 id="Next">Next</h3>
29 | <p>Retrieves the next item or items in an enumeration.</p>
30 | <pre class="Syntax">Boolean := Enum.<span class="func">Next</span>(OutputVar1 <span class="optional">, OutputVar2, ...</span>)</pre>
31 | <h4 id="Next_Parameters">Parameters</h4>
32 | <dl>
33 |   <dt>OutputVar1, OutputVar2</dt>
34 |   <dd>Receives an implementation-specific value.</dd>
35 |   <dt>...</dt>
36 |   <dd>Additional parameters, if supported.</dd>
37 | </dl>
38 | <h4 id="Next_Return_Value">Return Value</h4>
39 | <p>This method returns 1 (true) if successful or 0 (false) if there were no items remaining.</p>
40 | <h4 id="Next_Remarks">Remarks</h4>
41 | <p>Enumerators returned by <a href="Object.htm#NewEnum">ObjNewEnum()</a> are called once for each key-value pair, and allow up to two parameters:</p>
42 | <ul>
43 |   <li>OutputVar1: Receives the <b>key</b> in a key-value pair.</li>
44 |   <li>OutputVar2: Receives the <b>value</b> associated with <i>OutputVar1</i>.</li>
45 | </ul>
46 | <p>Key-value pairs are returned in an implementation-defined order. That is, they are typically not returned in the same order that they were assigned. Existing key-value pairs may be modified during enumeration, but inserting or removing keys may cause some items to be enumerated multiple times or not at all.</p>
47 | <h4 id="Next_Related">Related</h4>
48 | <p><a href="For.htm">For-loop</a>, <a href="Object.htm#NewEnum">Object._NewEnum()</a></p>
49 | <h4 id="Next_Examples">Examples</h4>
50 | <pre class="NoIndent"><em>; Create some sample data.</em>
51 | obj := Object("red", 0xFF0000, "blue", 0x0000FF, "green", 0x00FF00)
52 | 
53 | <em>; Enumerate!</em>
54 | enum := obj._NewEnum()
55 | While enum[k, v]
56 |     t .= k "=" v "`n"
57 | MsgBox % t
58 | 
59 | <em>; Requires <span class="ver">[AHK_L 59+]</span></em>
60 | For k, v in obj
61 |     s .= k "=" v "`n"
62 | MsgBox % s
63 | </pre>
64 | </div>
65 | 
66 | </body>
67 | </html>
68 | 


--------------------------------------------------------------------------------
/docs/lib/EnvDiv.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>EnvDiv - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The EnvDiv command sets a variable to itself divided by the given value." />
 6 | <meta name="ahk:equiv-v2" content="Variables.htm#MulDiv" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>EnvDiv</h1>
15 | 
16 | <p>Sets a <a href="../Variables.htm">variable</a> to itself divided by the given value. Synonymous with: <code>Var /= Value</code>.</p>
17 | <p class="warning"><strong>Deprecated:</strong> This command is not recommended for use in new scripts. Use <code>Var := Var / Value</code> or <code>Var /= Value</code> instead.</p>
18 | 
19 | <pre class="Syntax"><span class="func">EnvDiv</span>, Var, Value</pre>
20 | <h2 id="Parameters">Parameters</h2>
21 | <dl>
22 | 
23 |   <dt>Var</dt>
24 |   <dd><p>The name of the <a href="../Variables.htm">variable</a> upon which to operate.</p></dd>
25 | 
26 |   <dt>Value</dt>
27 |   <dd><p>Any integer, floating point number, or <a href="../Variables.htm#Expressions">expression</a>.</p></dd>
28 | 
29 | </dl>
30 | 
31 | <h2 id="Remarks">Remarks</h2>
32 | <p>This command is equivalent to the shorthand style: <code>Var /= Value</code>.</p>
33 | <p>Division by zero will result in an error-message window  when the script is loaded (if possible); otherwise it makes the variable blank.</p>
34 | <p>If either <em>Var</em> or <em>Value</em> is blank or does not start with a number, it is considered to be 0 for the purpose of the calculation (except when used <em>internally</em> in an expression such as <code>Var := X /= Y</code>).</p>
35 | <p>If either <em>Var</em> or <em>Value</em> contains a decimal point, the end result will be a floating point number in the format set by <a href="SetFormat.htm">SetFormat</a>. Otherwise, the result will be truncated (e.g. 19 divided by 10 will yield 1).</p>
36 | <h2 id="Related">Related</h2>
37 | <p><a href="EnvAdd.htm">EnvAdd</a><a href="EnvSub.htm">, EnvSub</a>, <a href="EnvMult.htm">EnvMult</a>, <a href="SetFormat.htm">SetFormat</a>, <a href="../Variables.htm#Expressions">Expressions</a>, <a href="IfIs.htm">If Var is [not] Type</a>, <a href="SetEnv.htm">SetEnv</a>, <a href="Transform.htm">bitwise operations (Transform)</a></p>
38 | <h2 id="Examples">Examples</h2>
39 | <div class="ex" id="ExBasic">
40 | <p><a class="ex_number" href="#ExBasic"></a> Sets <var>MyCount</var> to itself divided by 2.</p>
41 | <pre>EnvDiv, MyCount, 2</pre>
42 | </div>
43 | 
44 | <div class="ex" id="ExOperator">
45 | <p><a class="ex_number" href="#ExOperator"></a> Equivalent to above.</p>
46 | <pre>MyCount /= 2</pre>
47 | </div>
48 | 
49 | </body>
50 | </html>
51 | 


--------------------------------------------------------------------------------
/docs/lib/EnvGet.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>EnvGet - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The EnvGet command retrieves the value of the specified environment variable." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>EnvGet <span class="ver">[v1.0.43.08+]</span></h1>
14 | 
15 | <p>Retrieves the value of the specified <a href="../Concepts.htm#environment-variables">environment variable</a>.</p>
16 | 
17 | <pre class="Syntax"><span class="func">EnvGet</span>, OutputVar, EnvVar</pre>
18 | <h2 id="Parameters">Parameters</h2>
19 | <dl>
20 | 
21 |   <dt>OutputVar</dt>
22 |   <dd><p>The name of the output variable in which to store the retrieved value.</p></dd>
23 | 
24 |   <dt>EnvVar</dt>
25 |   <dd><p>The name of the environment variable, e.g. <code>Path</code>.</p></dd>
26 | 
27 | </dl>
28 | <h2 id="Remarks">Remarks</h2>
29 | <p>If <em>EnvVar</em> has an empty value or does not exist, <em>OutputVar</em> is made blank.</p>
30 | <p>The operating system limits each environment variable to 32 KB of text.</p>
31 | <h2 id="Related">Related</h2>
32 | <p><a href="EnvSet.htm">EnvSet</a>, <a href="_NoEnv.htm">#NoEnv</a>, <a href="EnvUpdate.htm">EnvUpdate</a>, <a href="SetEnv.htm">SetEnv</a>, <a href="Run.htm">Run / RunWait</a></p>
33 | <h2 id="Examples">Examples</h2>
34 | <div class="ex" id="ExBasic">
35 | <p><a class="ex_number" href="#ExBasic"></a> Retrieves the value of an environment variable and stores it in <var>OutputVar</var>.</p>
36 | <pre>EnvGet, OutputVar, LogonServer</pre>
37 | </div>
38 | 
39 | <div class="ex" id="ExProgramFiles">
40 | <p><a class="ex_number" href="#ExProgramFiles"></a> Retrieves and reports the path of the "Program Files" directory. See <a href="RegRead.htm#ExProgramFiles">RegRead example #2</a> for an alternative method.</p>
41 | <pre>EnvGet, OutputVar, % <a href="../Variables.htm#Is64bitOS">A_Is64bitOS</a> ? "ProgramW6432" : "ProgramFiles"
42 | MsgBox, Program files are in: %OutputVar%</pre>
43 | </div>
44 | 
45 | <div class="ex" id="ExLocalAppData">
46 | <p><a class="ex_number" href="#ExLocalAppData"></a> Retrieves and reports the path of the current user's Local AppData directory.</p>
47 | <pre>EnvGet, LocalAppData, LocalAppData
48 | MsgBox, %A_UserName%'s Local directory is located at: %LocalAppData%</pre>
49 | </div>
50 | 
51 | </body>
52 | </html>
53 | 


--------------------------------------------------------------------------------
/docs/lib/EnvMult.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>EnvMult - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The EnvMult command sets a variable to itself times the given value." />
 6 | <meta name="ahk:equiv-v2" content="Variables.htm#MulDiv" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>EnvMult</h1>
15 | 
16 | <p>Sets a <a href="../Variables.htm">variable</a> to itself times the given value. Synonymous with: <code>Var *= Value</code>.</p>
17 | <p class="warning"><strong>Deprecated:</strong> This command is not recommended for use in new scripts. Use <code>Var := Var * Value</code> or <code>Var *= Value</code> instead.</p>
18 | 
19 | <pre class="Syntax"><span class="func">EnvMult</span>, Var, Value</pre>
20 | <h2 id="Parameters">Parameters</h2>
21 | <dl>
22 | 
23 |   <dt>Var</dt>
24 |   <dd><p>The name of the <a href="../Variables.htm">variable</a> upon which to operate.</p></dd>
25 | 
26 |   <dt>Value</dt>
27 |   <dd><p>Any integer, floating point number, or <a href="../Variables.htm#Expressions">expression</a>.</p></dd>
28 | 
29 | </dl>
30 | 
31 | <h2 id="Remarks">Remarks</h2>
32 | <p>This command is equivalent to the shorthand style: <code>Var *= Value</code>.</p>
33 | <p>If either <em>Var</em> or <em>Value</em> is blank or does not start with a number, it is considered to be 0 for the purpose of the calculation (except when used <em>internally</em> in an expression such as <code>Var := X *= Y</code>).</p>
34 | <p>If either <em>Var</em> or <em>Value</em> contains a decimal point, the end result will be a floating point number in the format set by <a href="SetFormat.htm">SetFormat</a>.</p>
35 | <h2 id="Related">Related</h2>
36 | <p><a href="EnvAdd.htm">EnvAdd</a>, <a href="EnvSub.htm">EnvSub</a>, <a href="EnvDiv.htm">EnvDiv</a>, <a href="SetFormat.htm">SetFormat</a>, <a href="../Variables.htm#Expressions">Expressions</a>, <a href="IfIs.htm">If Var is [not] Type</a>, <a href="SetEnv.htm">SetEnv</a>, <a href="Transform.htm">bitwise operations (Transform)</a></p>
37 | <h2 id="Examples">Examples</h2>
38 | <div class="ex" id="ExBasic">
39 | <p><a class="ex_number" href="#ExBasic"></a> Sets <var>MyCount</var> to itself times 2.</p>
40 | <pre>EnvMult, MyCount, 2</pre>
41 | </div>
42 | 
43 | <div class="ex" id="ExOperator">
44 | <p><a class="ex_number" href="#ExOperator"></a> Equivalent to above.</p>
45 | <pre>MyCount *= 2</pre>
46 | </div>
47 | 
48 | </body>
49 | </html>
50 | 


--------------------------------------------------------------------------------
/docs/lib/EnvSet.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>EnvSet - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The EnvSet command writes a value to the specified environment variable." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>EnvSet</h1>
14 | 
15 | <p>Writes a value to the specified <a href="../Concepts.htm#environment-variables">environment variable</a>.</p>
16 | 
17 | <pre class="Syntax"><span class="func">EnvSet</span>, EnvVar, Value</pre>
18 | <h2 id="Parameters">Parameters</h2>
19 | <dl>
20 | 
21 |   <dt>EnvVar</dt>
22 |   <dd>The name of the environment variable, e.g. <code>Path</code>.</dd>
23 | 
24 |   <dt>Value</dt>
25 |   <dd><p>The value to write.</p></dd>
26 | 
27 | </dl>
28 | <h2 id="Error_Handling">Error Handling</h2>
29 | <p><span class="ver">[v1.1.04+]</span>: This command is able to throw an exception on failure. For more information, see <a href="Catch.htm#RuntimeErrors">Runtime Errors</a>.</p>
30 | <p><a href="../misc/ErrorLevel.htm">ErrorLevel</a> is set to 1 if there was a problem or 0 otherwise.</p>
31 | <h2 id="Remarks">Remarks</h2>
32 | <p>The operating system limits each environment variable to 32 KB of text.</p>
33 | <p>An environment variable created or changed with this command will be accessible only to programs the script launches via <a href="Run.htm">Run</a> or <a href="Run.htm">RunWait</a>. See <a href="../Concepts.htm#environment-variables">environment variables</a> for more details.</p>
34 | <p>This command exists separately from <a href="SetEnv.htm">SetEnv</a> because <a href="../Variables.htm">normal script variables</a> are not stored in the environment. This is because performance would be worse and also because the OS limits environment variables to 32 KB.</p>
35 | <h2 id="Related">Related</h2>
36 | <p><a href="EnvGet.htm">EnvGet</a>, <a href="_NoEnv.htm">#NoEnv</a>, <a href="EnvUpdate.htm">EnvUpdate</a>, <a href="SetEnv.htm">SetEnv</a>, <a href="Run.htm">Run / RunWait</a></p>
37 | <h2 id="Examples">Examples</h2>
38 | <div class="ex" id="ExBasic">
39 | <p><a class="ex_number" href="#ExBasic"></a> Writes some text to an environment variable.</p>
40 | <pre>EnvSet, AutGUI, Some text to put in the environment variable.</pre>
41 | </div>
42 | 
43 | </body>
44 | </html>
45 | 


--------------------------------------------------------------------------------
/docs/lib/EnvUpdate.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>EnvUpdate - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The EnvUpdate command notifies the OS and all running applications that environment variable(s) have changed." />
 6 | <meta name="ahk:equiv-v2" content="v2-changes.htm#EnvUpdate" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>EnvUpdate</h1>
15 | 
16 | <p>Notifies the OS and all running applications that <a href="../Concepts.htm#environment-variables">environment variable(s)</a> have changed.</p>
17 | 
18 | <pre class="Syntax"><span class="func">EnvUpdate</span></pre>
19 | <h2 id="Error_Handling">Error Handling</h2>
20 | <p><span class="ver">[v1.1.04+]</span>: This command is able to throw an exception on failure. For more information, see <a href="Catch.htm#RuntimeErrors">Runtime Errors</a>.</p>
21 | <p><a href="../misc/ErrorLevel.htm">ErrorLevel</a> is set to 1 if there was a problem or 0 otherwise.</p>
22 | <h2 id="Remarks">Remarks</h2>
23 | <p>Refreshes the OS environment. Similar effect as logging off and then on again.</p>
24 | <p>For example, after making changes to the following registry key via <a href="RegWrite.htm">RegWrite</a>, EnvUpdate could be used to broadcast the change: <pre>HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment</pre></p>
25 | <h2 id="Related">Related</h2>
26 | <p><a href="EnvGet.htm">EnvGet</a>, <a href="EnvSet.htm">EnvSet</a>, <a href="_NoEnv.htm">#NoEnv</a>, <a href="SetEnv.htm">SetEnv</a></p>
27 | <h2 id="Examples">Examples</h2>
28 | <div class="ex" id="ExBasic">
29 | <p><a class="ex_number" href="#ExBasic"></a> Refreshes the OS environment.</p>
30 | <pre>EnvUpdate</pre>
31 | </div>
32 | 
33 | </body>
34 | </html>
35 | 


--------------------------------------------------------------------------------
/docs/lib/Exit.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>Exit - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The Exit command exits the current thread or (if the script is not persistent) the entire script." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>Exit</h1>
14 | 
15 | <p>Exits the <a href="../misc/Threads.htm">current thread</a> or (if the script is not <a href="_Persistent.htm">persistent</a>) the entire script.</p>
16 | 
17 | <pre class="Syntax"><span class="func">Exit</span> <span class="optional">, ExitCode</span></pre>
18 | <h2 id="Parameters">Parameters</h2>
19 | <dl>
20 | 
21 |   <dt>ExitCode</dt>
22 |   <dd><p>If blank or omitted, it defaults to 0 (zero is traditionally used to indicate success). Otherwise, specify an integer between -2147483648 and 2147483647 (can be an <a href="../Variables.htm#Expressions">expression</a>) that is returned to its caller when the script exits. This code is accessible to any program that spawned the script, such as another script (via RunWait) or a batch (.bat) file.</p></dd>
23 | 
24 | </dl>
25 | 
26 | <h2 id="Remarks">Remarks</h2>
27 | <p>If the script is not <a href="_Persistent.htm">persistent</a>, Exit will attempt to terminate the entire script as though <a href="ExitApp.htm">ExitApp</a> was called.</p>
28 | <p>If the script is not terminated, the Exit command terminates the <a href="../misc/Threads.htm">current thread</a>. In other words, the stack of subroutines called directly or indirectly by a <a href="Menu.htm">menu</a>, <a href="SetTimer.htm">timer</a>, or <a href="../Hotkeys.htm">hotkey</a> subroutine will all be returned from as though a <a href="Return.htm">Return</a> were immediately encountered in each. If used directly inside such a subroutine -- rather than in one of the subroutines called indirectly by it -- Exit is equivalent to <a href="Return.htm">Return</a>.</p>
29 | <p>Use <a href="ExitApp.htm">ExitApp</a> to completely terminate a script that is <a href="_Persistent.htm">persistent</a>.</p>
30 | 
31 | <h2 id="Related">Related</h2>
32 | <p><a href="ExitApp.htm">ExitApp</a>, <a href="OnExit.htm">OnExit</a>, <a href="../Functions.htm">Functions</a>, <a href="Gosub.htm">Gosub</a>, <a href="Return.htm">Return</a>, <a href="../misc/Threads.htm">Threads</a>, <a href="_Persistent.htm">#Persistent</a></p>
33 | <h2 id="Examples">Examples</h2>
34 | <div class="ex" id="ExBasic">
35 | <p><a class="ex_number" href="#ExBasic"></a> In this example, the Exit command terminates the Sub2 subroutine as well as the calling subroutine.</p>
36 | <pre>#z::
37 | Gosub, Sub2
38 | MsgBox, This MsgBox will never happen because of the EXIT.
39 | return
40 | 
41 | Sub2:
42 | Exit  <em>; Terminate this subroutine as well as the calling subroutine.</em></pre>
43 | </div>
44 | 
45 | </body>
46 | </html>
47 | 


--------------------------------------------------------------------------------
/docs/lib/ExitApp.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>ExitApp - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The ExitApp command terminates the script." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>ExitApp</h1>
14 | 
15 | <p>Terminates the script.</p>
16 | 
17 | <pre class="Syntax"><span class="func">ExitApp</span> <span class="optional">, ExitCode</span></pre>
18 | <h2 id="Parameters">Parameters</h2>
19 | <dl>
20 | 
21 |   <dt>ExitCode</dt>
22 |   <dd><p>If blank or omitted, it defaults to 0 (zero is traditionally used to indicate success). Otherwise, specify an integer between -2147483648 and 2147483647 (or in <span class="ver">[v1.0.48.01+]</span> an <a href="../Variables.htm#Expressions">expression</a>) that is returned to its caller when the script exits. This code is accessible to any program that spawned the script, such as another script (via RunWait) or a batch (.bat) file.</p></dd>
23 | 
24 | </dl>
25 | 
26 | <h2 id="Remarks">Remarks</h2>
27 | <p>This is equivalent to choosing "Exit" from the script's tray menu or main menu.</p>
28 | <p>Any function or subroutine registered by <a href="OnExit.htm">OnExit</a> will be called automatically, and may prevent the script from terminating. In such a case, the current <a href="../misc/Threads.htm">thread</a> exits as if <a href="Exit.htm">Exit</a> was called.</p>
29 | <p>Terminating the script is not the same as exiting each thread. For instance, <a href="Finally.htm">Finally</a> blocks are not executed and <a href="../Objects.htm#Custom_NewDelete">__Delete</a> is not called for objects contained by local variables.</p>
30 | 
31 | <h2 id="Related">Related</h2>
32 | <p><a href="Exit.htm">Exit</a>, <a href="OnExit.htm">OnExit</a>, <a href="_Persistent.htm">#Persistent</a></p>
33 | 
34 | <h2 id="Examples">Examples</h2>
35 | <div class="ex" id="ExHotkey">
36 | <p><a class="ex_number" href="#ExHotkey"></a> Press a hotkey to terminate the script.</p>
37 | <pre>#x::ExitApp  <em>; Win+X</em></pre>
38 | </div>
39 | 
40 | </body>
41 | </html>
42 | 


--------------------------------------------------------------------------------
/docs/lib/FileCreateDir.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>FileCreateDir - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The FileCreateDir command creates a folder." />
 6 | <meta name="ahk:equiv-v2" content="lib/DirCreate.htm" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>FileCreateDir</h1>
15 | 
16 | <p>Creates a folder.</p>
17 | 
18 | <pre class="Syntax"><span class="func">FileCreateDir</span>, DirName</pre>
19 | <h2 id="Parameters">Parameters</h2>
20 | <dl>
21 | 
22 |   <dt>DirName</dt>
23 |   <dd>
24 |     <p>Name of the directory to create, which is assumed to be in <a href="../Variables.htm#WorkingDir">%A_WorkingDir%</a> if an absolute path isn't specified.</p>
25 |     <p><span class="ver">[v1.1.35+]</span>: Forward slashes (<code>/</code>) and double period (<code>..</code>) are supported.</p>
26 |   </dd>
27 | 
28 | </dl>
29 | <h2 id="Error_Handling">Error Handling</h2>
30 | <p><span class="ver">[v1.1.04+]</span>: This command is able to throw an exception on failure. For more information, see <a href="Catch.htm#RuntimeErrors">Runtime Errors</a>.</p>
31 | <p><a href="../misc/ErrorLevel.htm">ErrorLevel</a> is set to 1 if there was a problem or 0 otherwise.</p>
32 | <p><a href="../Variables.htm#LastError">A_LastError</a> is set to the result of the operating system's GetLastError() function.</p>
33 | <h2 id="Remarks">Remarks</h2>
34 | <p>This command will also create all parent directories given in <em>DirName</em> if they do not already exist.</p>
35 | <h2 id="Related">Related</h2>
36 | <p><a href="FileRemoveDir.htm">FileRemoveDir</a></p>
37 | <h2 id="Examples">Examples</h2>
38 | <div class="ex" id="ExBasic">
39 | <p><a class="ex_number" href="#ExBasic"></a> Creates a new directory, including its parent directories if necessary.</p>
40 | <pre>FileCreateDir, C:\Test1\My Images\Folder2</pre>
41 | </div>
42 | 
43 | </body>
44 | </html>
45 | 


--------------------------------------------------------------------------------
/docs/lib/FileDelete.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>FileDelete - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The FileDelete command deletes one or more files permanently." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>FileDelete</h1>
14 | 
15 | <p>Deletes one or more files permanently.</p>
16 | 
17 | <pre class="Syntax"><span class="func">FileDelete</span>, FilePattern</pre>
18 | <h2 id="Parameters">Parameters</h2>
19 | <dl>
20 | 
21 |   <dt>FilePattern</dt>
22 |   <dd><p>The name of a single file or a wildcard pattern such as <code>C:\Temp\*.tmp</code>. <em>FilePattern</em> is assumed to be in <a href="../Variables.htm#WorkingDir">%A_WorkingDir%</a> if an absolute path isn't specified.</p>
23 |     <p>To remove an entire folder, along with all its sub-folders and files, use <a href="FileRemoveDir.htm">FileRemoveDir</a>.</p></dd>
24 | 
25 | </dl>
26 | 
27 | <h2 id="Error_Handling">Error Handling</h2>
28 | <p><span class="ver">[v1.1.04+]</span>: This command is able to throw an exception on failure. For more information, see <a href="Catch.htm#RuntimeErrors">Runtime Errors</a>.</p>
29 | <p><a href="../misc/ErrorLevel.htm">ErrorLevel</a> is set to the number of files that failed to be deleted (if any) or 0 otherwise. Deleting a wildcard pattern such as <code>*.tmp</code> is considered a success even if it does not match any files; thus ErrorLevel is set to 0.</p>
30 | <p>If files were found, <a href="../Variables.htm#LastError">A_LastError</a> is set to 0 (zero) or the result of the operating system's GetLastError() function immediately after the last failure. Otherwise A_LastError contains an error code that might indicate why no files were found.</p>
31 | 
32 | <h2 id="Remarks">Remarks</h2>
33 | <p>To send a file to the recycle bin, use the <a href="FileRecycle.htm">FileRecycle</a> command.</p>
34 | <p>To delete a read-only file, first remove the read-only attribute. For example: <code><a href="FileSetAttrib.htm">FileSetAttrib</a>, -R, C:\My File.txt</code>.</p>
35 | <h2 id="Related">Related</h2>
36 | <p><a href="FileRecycle.htm">FileRecycle</a>, <a href="FileRemoveDir.htm">FileRemoveDir</a>, <a href="FileCopy.htm">FileCopy</a>, <a href="FileMove.htm">FileMove</a></p>
37 | <h2 id="Examples">Examples</h2>
38 | <div class="ex" id="ExBasic">
39 | <p><a class="ex_number" href="#ExBasic"></a> Deletes all .tmp files in a directory.</p>
40 | <pre>FileDelete, C:\temp files\*.tmp</pre>
41 | </div>
42 | 
43 | </body>
44 | </html>
45 | 


--------------------------------------------------------------------------------
/docs/lib/FileGetVersion.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>FileGetVersion - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The FileGetVersion command retrieves the version of a file." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>FileGetVersion</h1>
14 | 
15 | <p>Retrieves the version of a file.</p>
16 | 
17 | <pre class="Syntax"><span class="func">FileGetVersion</span>, OutputVar <span class="optional">, Filename</span></pre>
18 | <h2 id="Parameters">Parameters</h2>
19 | <dl>
20 | 
21 |   <dt>OutputVar</dt>
22 |   <dd><p>The name of the output variable in which to store the version number/string.</p></dd>
23 | 
24 |   <dt>Filename</dt>
25 |   <dd><p>If blank or omitted, the current file of the innermost enclosing <a href="LoopFile.htm">file loop</a> will be used. Otherwise, specify the name of the target file. If a full path is not specified, this command uses the search sequence specified by the system <a href="https://learn.microsoft.com/windows/win32/api/libloaderapi/nf-libloaderapi-loadlibrarya">LoadLibrary</a> function.</p></dd>
26 | 
27 | </dl>
28 | 
29 | <h2 id="Error_Handling">Error Handling</h2>
30 | <p><span class="ver">[v1.1.04+]</span>: This command is able to throw an exception on failure. For more information, see <a href="Catch.htm#RuntimeErrors">Runtime Errors</a>.</p>
31 | <p><a href="../misc/ErrorLevel.htm">ErrorLevel</a> is set to 1 if there was a problem or 0 otherwise.</p>
32 | <p><a href="../Variables.htm#LastError">A_LastError</a> is set to the result of the operating system's GetLastError() function.</p>
33 | 
34 | <h2 id="Remarks">Remarks</h2>
35 | <p>Most non-executable files (and even some EXEs) won't have a version, and thus <em>OutputVar</em> will be blank in these cases.</p>
36 | <h2 id="Related">Related</h2>
37 | <p><a href="FileGetAttrib.htm">FileGetAttrib</a>, <a href="FileSetAttrib.htm">FileSetAttrib</a>, <a href="FileGetTime.htm">FileGetTime</a>, <a href="FileSetTime.htm">FileSetTime</a>, <a href="FileGetSize.htm">FileGetSize</a>, <a href="LoopFile.htm">file loop</a></p>
38 | <h2 id="Examples">Examples</h2>
39 | <div class="ex" id="ExBasic">
40 | <p><a class="ex_number" href="#ExBasic"></a> Retrieves the version of a file and stores it in <var>Version</var>.</p>
41 | <pre>FileGetVersion, Version, C:\My Application.exe</pre>
42 | </div>
43 | 
44 | <div class="ex" id="ExBIV">
45 | <p><a class="ex_number" href="#ExBIV"></a> Retrieves the version of the file "AutoHotkey.exe" located in AutoHotkey's installation directory and stores it in <var>Version</var>.</p>
46 | <pre>FileGetVersion, Version, %A_ProgramFiles%\AutoHotkey\AutoHotkey.exe</pre>
47 | </div>
48 | 
49 | </body>
50 | </html>
51 | 


--------------------------------------------------------------------------------
/docs/lib/FileRecycle.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>FileRecycle - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The FileRecycle command sends a file or directory to the recycle bin if possible, or permanently deletes it." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>FileRecycle</h1>
14 | 
15 | <p>Sends a file or directory to the recycle bin if possible, or permanently deletes it.</p>
16 | 
17 | <pre class="Syntax"><span class="func">FileRecycle</span>, FilePattern</pre>
18 | <h2 id="Parameters">Parameters</h2>
19 | <dl>
20 | 
21 |   <dt>FilePattern</dt>
22 |   <dd><p>The name of a single file or a wildcard pattern such as <code>C:\Temp\*.tmp</code>. <em>FilePattern</em> is assumed to be in <a href="../Variables.htm#WorkingDir">%A_WorkingDir%</a> if an absolute path isn't specified.</p>
23 |       <p>To recycle an entire directory, provide its name without a trailing backslash.</p></dd>
24 | 
25 | </dl>
26 | 
27 | <h2 id="Error_Handling">Error Handling</h2>
28 | <p><span class="ver">[v1.1.04+]</span>: This command is able to throw an exception on failure. For more information, see <a href="Catch.htm#RuntimeErrors">Runtime Errors</a>.</p>
29 | <p><a href="../misc/ErrorLevel.htm">ErrorLevel</a> is set to 1 if there was a problem or 0 otherwise.</p>
30 | <h2 id="Remarks">Remarks</h2>
31 | <p><a href="https://learn.microsoft.com/windows/win32/api/shellapi/nf-shellapi-shfileoperationa">SHFileOperation</a> is used to do the actual work. This function may permanently delete the file if it is too large to be recycled; as of <span class="ver">[v1.0.96]</span>, a warning should be shown before this occurs.</p>
32 | <p>The file may be permanently deleted without warning if the file cannot be recycled for other reasons, such as:</p>
33 | <ul>
34 |   <li>The file is on a removable drive.</li>
35 |   <li>The Recycle Bin has been disabled, such as via the <code>NukeOnDelete</code> registry value.</li>
36 | </ul>
37 | <h2 id="Related">Related</h2>
38 | <p><a href="FileRecycleEmpty.htm">FileRecycleEmpty</a>, <a href="FileDelete.htm">FileDelete</a>, <a href="FileCopy.htm">FileCopy</a>, <a href="FileMove.htm">FileMove</a></p>
39 | <h2 id="Examples">Examples</h2>
40 | <div class="ex" id="ExBasic">
41 | <p><a class="ex_number" href="#ExBasic"></a> Sends all .tmp files in a directory to the recycle bin if possible.</p>
42 | <pre>FileRecycle, C:\temp files\*.tmp</pre>
43 | </div>
44 | 
45 | </body>
46 | </html>
47 | 


--------------------------------------------------------------------------------
/docs/lib/FileRecycleEmpty.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>FileRecycleEmpty - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The FileRecycleEmpty command empties the recycle bin." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>FileRecycleEmpty</h1>
14 | 
15 | <p>Empties the recycle bin.</p>
16 | 
17 | <pre class="Syntax"><span class="func">FileRecycleEmpty</span> <span class="optional">, DriveLetter</span></pre>
18 | <h2 id="Parameters">Parameters</h2>
19 | <dl>
20 | 
21 |   <dt>DriveLetter</dt>
22 |   <dd><p>If blank or omitted, the recycle bin for all drives is emptied. Otherwise, specify a drive letter such as <code>C:\</code>.</p></dd>
23 | 
24 | </dl>
25 | 
26 | <h2 id="Error_Handling">Error Handling</h2>
27 | <p><span class="ver">[v1.1.04+]</span>: This command is able to throw an exception on failure. For more information, see <a href="Catch.htm#RuntimeErrors">Runtime Errors</a>.</p>
28 | <p><a href="../misc/ErrorLevel.htm">ErrorLevel</a> is set to 1 if there was a problem or 0 otherwise.</p>
29 | <h2 id="Remarks">Remarks</h2>
30 | <p>This commands requires that MS Internet Explorer 4 or later be installed.</p>
31 | <h2 id="Related">Related</h2>
32 | <p><a href="FileRecycle.htm">FileRecycle</a>, <a href="FileDelete.htm">FileDelete</a>, <a href="FileCopy.htm">FileCopy</a>, <a href="FileMove.htm">FileMove</a></p>
33 | <h2 id="Examples">Examples</h2>
34 | <div class="ex" id="ExBasic">
35 | <p><a class="ex_number" href="#ExBasic"></a> Empties the recycle bin of the C drive.</p>
36 | <pre>FileRecycleEmpty, C:\</pre>
37 | </div>
38 | 
39 | </body>
40 | </html>
41 | 


--------------------------------------------------------------------------------
/docs/lib/FileRemoveDir.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>FileRemoveDir - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The FileRemoveDir command deletes a folder." />
 6 | <meta name="ahk:equiv-v2" content="lib/DirDelete.htm" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>FileRemoveDir</h1>
15 | 
16 | <p>Deletes a folder.</p>
17 | 
18 | <pre class="Syntax"><span class="func">FileRemoveDir</span>, DirName <span class="optional">, Recurse</span></pre>
19 | <h2 id="Parameters">Parameters</h2>
20 | <dl>
21 | 
22 |   <dt>DirName</dt>
23 |   <dd><p>Name of the directory to delete, which is assumed to be in <a href="../Variables.htm#WorkingDir">%A_WorkingDir%</a> if an absolute path isn't specified.</p></dd>
24 | 
25 |   <dt>Recurse</dt>
26 |   <dd>
27 |     <p>If blank or omitted, it defaults to 0. Otherwise, specify one of the following numbers to indicate whether to recurse into subdirectories:</p>
28 |     <p><strong>0:</strong> Do <u>not</u> remove files and sub-directories contained in <em>DirName</em>. In this case, if <em>DirName</em> is not empty, no action will be taken and ErrorLevel will be set to 1.</p>
29 |     <p><strong>1:</strong> Remove all files and subdirectories (like the Windows command "rmdir /S").</p>
30 |     <p>This parameter can be an <a href="../Variables.htm#Expressions">expression</a>, even one that evaluates to 1, 0 or an empty string.</p>
31 |   </dd>
32 | 
33 | </dl>
34 | <h2 id="Error_Handling">Error Handling</h2>
35 | <p><span class="ver">[v1.1.04+]</span>: This command is able to throw an exception on failure. For more information, see <a href="Catch.htm#RuntimeErrors">Runtime Errors</a>.</p>
36 | <p><a href="../misc/ErrorLevel.htm">ErrorLevel</a> is set to 1 if there was a problem or 0 otherwise.</p>
37 | 
38 | <h2 id="Related">Related</h2>
39 | <p><a href="FileCreateDir.htm">FileCreateDir</a>, <a href="FileDelete.htm">FileDelete</a></p>
40 | <h2 id="Examples">Examples</h2>
41 | <div class="ex" id="ExBasic">
42 | <p><a class="ex_number" href="#ExBasic"></a> Removes the directory, but only if it is empty.</p>
43 | <pre>FileRemoveDir, C:\Download Temp</pre>
44 | </div>
45 | 
46 | <div class="ex" id="ExRecurse">
47 | <p><a class="ex_number" href="#ExRecurse"></a> Removes the directory including its files and subdirectories.</p>
48 | <pre>FileRemoveDir, C:\Download Temp, 1</pre>
49 | </div>
50 | 
51 | </body>
52 | </html>
53 | 


--------------------------------------------------------------------------------
/docs/lib/GetKey.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>GetKeyName() / GetKeyVK() / GetKeySC() - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The GetKeyName, GetKeyVK and GetKeySC functions retrieve the name/text, virtual key code or scan code of a key." />
 6 | <meta name="ahk:equiv-v2" content="lib/GetKeyName.htm" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>GetKeyName() / GetKeyVK() / GetKeySC() <span class="ver">[v1.1.01+]</span></h1>
15 | 
16 | <p>Retrieves the name/text, virtual key code or scan code of a key.</p>
17 | 
18 | <pre class="Syntax">
19 | String := <span class="func">GetKeyName</span>(Key)
20 | Number := <span class="func">GetKeyVK</span>(Key)
21 | Number := <span class="func">GetKeySC</span>(Key)
22 | </pre>
23 | <h2 id="Parameters">Parameters</h2>
24 | <dl>
25 | 
26 |   <dt>Key</dt>
27 |   <dd><p>A VK or SC code, such as <code>"vkA2"</code> or <code>"sc01D"</code>, a combination of both, or a <a href="../KeyList.htm">key name</a>. For example, both <code>GetKeyName("vk1B")</code> and <code>GetKeyName("Esc")</code> return <code>Escape</code>, while <code>GetKeyVK("Esc")</code> returns <code>27</code>. Note that VK and SC codes must be in hexadecimal. To convert a decimal number to the appropriate format, use <code><a href="Format.htm">Format</a>("vk{:x}", vk_code)</code> or <code>Format("sc{:x}", sc_code)</code>.</p></dd>
28 | 
29 | </dl>
30 | 
31 | <h2 id="Return_Value">Return Value</h2>
32 | <p>These functions return the name, virtual key code or scan code of <em>Key</em>.</p>
33 | 
34 | <h2 id="Related">Related</h2>
35 | <p><a href="GetKeyState.htm">GetKeyState</a>, <a href="../KeyList.htm">Key List</a>, <a href="Format.htm">Format()</a></p>
36 | <h2 id="Examples">Examples</h2>
37 | <div class="ex" id="ExBasic">
38 | <p><a class="ex_number" href="#ExBasic"></a> Reports information for a specific key.</p>
39 | <pre>key  := "LWin" <em>; Any key can be used here.</em>
40 | 
41 | name := GetKeyName(key)
42 | vk   := GetKeyVK(key)
43 | sc   := GetKeySC(key)
44 | 
45 | MsgBox, % Format("Name:`t{}`nVK:`t{:X}`nSC:`t{:X}", name, vk, sc)</pre>
46 | </div>
47 | 
48 | </body>
49 | </html>
50 | 


--------------------------------------------------------------------------------
/docs/lib/Goto.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>Goto - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The Goto statement jumps to the specified label and continues execution." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>Goto</h1>
14 | 
15 | <p>Jumps to the specified label and continues execution.</p>
16 | 
17 | <pre class="Syntax"><span class="func">Goto</span>, Label</pre>
18 | <h2 id="Parameters">Parameters</h2>
19 | <dl>
20 | 
21 |   <dt>Label</dt>
22 |   <dd><p>The name of the <a href="../misc/Labels.htm">label</a> to which to jump.</p></dd>
23 | 
24 | </dl>
25 | 
26 | <h2 id="Remarks">Remarks</h2>
27 | <p>When using a dynamic label such as %MyLabel%, an error dialog will be displayed if the label does not exist. To avoid this, call <a href="IsLabel.htm">IsLabel()</a> beforehand. For example:</p>
28 | <pre>if IsLabel(VarContainingLabelName)
29 |     Goto %VarContainingLabelName%</pre>
30 | <p>The use of Goto is discouraged because it generally makes scripts less readable and harder to maintain. Consider using <a href="Else.htm">Else</a>, <a href="Block.htm">Blocks</a>, <a href="Break.htm">Break</a>, and <a href="Continue.htm">Continue</a> as substitutes for Goto.</p>
31 | <h2 id="Related">Related</h2>
32 | <p><a href="Gosub.htm">Gosub</a>, <a href="Return.htm">Return</a>, <a href="IsLabel.htm">IsLabel()</a>, <a href="Else.htm">Else</a>, <a href="Block.htm">Blocks</a>, <a href="Break.htm">Break</a>, <a href="Continue.htm">Continue</a>, <a href="../Variables.htm#ThisLabel">A_ThisLabel</a></p>
33 | <h2 id="Examples">Examples</h2>
34 | <div class="ex" id="ExBasic">
35 | <p><a class="ex_number" href="#ExBasic"></a> Jumps to the label named "MyLabel" and continues execution.</p>
36 | <pre>Goto, MyLabel
37 | <em>; ...</em>
38 | MyLabel:
39 | Sleep, 100
40 | <em>; ...</em></pre>
41 | </div>
42 | 
43 | </body>
44 | </html>
45 | 


--------------------------------------------------------------------------------
/docs/lib/GroupDeactivate.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>GroupDeactivate - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The GroupDeactivate command is similar to the GroupActivate command but activates the next window not in the group." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>GroupDeactivate</h1>
14 | 
15 | <p>Similar to <a href="GroupActivate.htm">GroupActivate</a> except activates the next window <u>not</u> in the group.</p>
16 | 
17 | <pre class="Syntax"><span class="func">GroupDeactivate</span>, GroupName <span class="optional">, Mode</span></pre>
18 | <h2 id="Parameters">Parameters</h2>
19 | <dl>
20 | 
21 |   <dt>GroupName</dt>
22 |   <dd><p>The name of the target group, as originally defined by <a href="GroupAdd.htm">GroupAdd</a>.</p></dd>
23 | 
24 |   <dt>Mode</dt>
25 |   <dd>
26 |     <p>If blank or omitted, the command activates the oldest non-member window. Otherwise, specify the following letter:</p>
27 |     <p><strong>R:</strong> The newest non-member window (the one most recently active) is activated, but only if a member of the group is active when the command is given. "R" is useful in cases where you temporarily switch to working on an unrelated task. When you return to the group via <a href="GroupActivate.htm">GroupActivate</a>, GroupDeactivate, or <a href="GroupClose.htm">GroupClose</a>, the  window you were most recently working with is activated rather than the oldest window.</p>
28 |   </dd>
29 | 
30 | </dl>
31 | 
32 | <h2 id="Remarks">Remarks</h2>
33 | <p>GroupDeactivate causes the first window that does <u>not</u> match any of the group's window specifications to be activated. Using GroupDeactivate a second time will activate the next window in the series and so on. Normally, GroupDeactivate is assigned to a hotkey so that this window-traversal behavior is automated by pressing that key.</p>
34 | <p>This command is useful in cases where you have a collection of favorite windows that are almost always running. By adding these windows to a group, you can use GroupDeactivate to visit each window that isn't one of your favorites and decide whether to close it. This allows you to clean up your desktop much more quickly than doing it manually.</p>
35 | <p>See <a href="GroupAdd.htm">GroupAdd</a> for more details about window groups.</p>
36 | <h2 id="Related">Related</h2>
37 | <p><a href="GroupAdd.htm">GroupAdd</a>, <a href="GroupActivate.htm">GroupActivate</a>, <a href="GroupClose.htm">GroupClose</a></p>
38 | <h2 id="Examples">Examples</h2>
39 | <div class="ex" id="ExBasic">
40 | <p><a class="ex_number" href="#ExBasic"></a> Activates the oldest window which is not a member of a window group.</p>
41 | <pre>GroupDeactivate, MyFavoriteWindows  <em>; Visit non-favorite windows to clean up desktop.</em></pre>
42 | </div>
43 | 
44 | </body>
45 | </html>
46 | 


--------------------------------------------------------------------------------
/docs/lib/IfExist.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>IfExist / IfNotExist - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The IfExist and IfNotExist statements check for the existence of a file or folder." />
 6 | <meta name="ahk:equiv-v2" content="lib/FileExist.htm" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>IfExist / IfNotExist</h1>
15 | 
16 | <p>Checks for the existence of a file or folder.</p>
17 | <p class="warning"><strong>Deprecated:</strong> These commands are not recommended for use in new scripts. Use the <a href="FileExist.htm">FileExist</a> function instead.</p>
18 | 
19 | <pre class="Syntax">
20 | <span class="func">IfExist</span>, FilePattern
21 | <span class="func">IfNotExist</span>, FilePattern
22 | </pre>
23 | <h2 id="Parameters">Parameters</h2>
24 | <dl>
25 | 
26 |   <dt>FilePattern</dt>
27 |   <dd><p>The path, filename, or file pattern to check. <em>FilePattern</em> is assumed to be in <a href="../Variables.htm#WorkingDir">%A_WorkingDir%</a> if an absolute path isn't specified.</p></dd>
28 | 
29 | </dl>
30 | 
31 | <h2 id="Related">Related</h2>
32 | <p><a href="FileExist.htm">FileExist()</a>, <a href="Block.htm">Blocks</a>, <a href="Else.htm">Else</a>, <a href="LoopFile.htm">file loops</a></p>
33 | <h2 id="Examples">Examples</h2>
34 | <div class="ex" id="ExDrive">
35 | <p><a class="ex_number" href="#ExDrive"></a> Shows a message box if the D drive does exist.</p>
36 | <pre>IfExist, D:\
37 |     MsgBox, The drive exists.</pre>
38 | </div>
39 | 
40 | <div class="ex" id="ExPattern">
41 | <p><a class="ex_number" href="#ExPattern"></a> Shows a message box if at least one text file does exist in a directory.</p>
42 | <pre>IfExist, D:\Docs\*.txt
43 |     MsgBox, At least one .txt file exists.</pre>
44 | </div>
45 | 
46 | <div class="ex" id="ExNot">
47 | <p><a class="ex_number" href="#ExNot"></a> Shows a message box if a file does <strong>not</strong> exist.</p>
48 | <pre>IfNotExist, C:\Temp\FlagFile.txt
49 |     MsgBox, The target file does not exist.</pre>
50 | </div>
51 | 
52 | </body>
53 | </html>
54 | 


--------------------------------------------------------------------------------
/docs/lib/IfInString.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>IfInString / IfNotInString - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The IfInString and IfNotInString statements check whether a variable contains the specified string or not." />
 6 | <meta name="ahk:equiv-v2" content="lib/InStr.htm" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>IfInString / IfNotInString</h1>
15 | 
16 | <p>Checks if a <a href="../Variables.htm">variable</a> contains the specified string.</p>
17 | <p class="warning"><strong>Deprecated:</strong> These commands are not recommended for use in new scripts. Use the <a href="InStr.htm">InStr</a> function instead.</p>
18 | 
19 | <pre class="Syntax">
20 | <span class="func">IfInString</span>, Var, SearchString
21 | <span class="func">IfNotInString</span>, Var, SearchString
22 | </pre>
23 | <h2 id="Parameters">Parameters</h2>
24 | <dl>
25 | 
26 |   <dt>Var</dt>
27 |   <dd><p>The name of the <a href="../Variables.htm">variable</a> whose contents will be searched for a match.</p></dd>
28 | 
29 |   <dt>SearchString</dt>
30 |   <dd><p>The string to search for. Matching is not case-sensitive unless <a href="StringCaseSense.htm">StringCaseSense</a> has been turned on.</p></dd>
31 | 
32 | </dl>
33 | 
34 | <h2 id="Remarks">Remarks</h2>
35 | <p>The built-in variables <strong>A_Space</strong> and <strong>A_Tab</strong> contain a single space and a single tab character, respectively, which might be useful when searching for these characters alone.</p>
36 | <p>Another command can  appear on the same line as this one. In other words, both of these are equivalent:</p>
37 | <pre>IfInString, MyVar, abc, Gosub, Process1
38 | IfInString, MyVar, abc
39 |     Gosub, Process1</pre>
40 | <p>However, items other than named commands are not supported on the same line. For example:</p>
41 | <pre>IfInString, MyVar, abc, found := true  <em><strong>; Invalid.</strong></em></pre>
42 | <h2 id="Related">Related</h2>
43 | <p><a href="InStr.htm">InStr()</a>, <a href="RegExMatch.htm">RegExMatch()</a>, <a href="StringGetPos.htm">StringGetPos</a>, <a href="StringCaseSense.htm">StringCaseSense</a>, <a href="IfEqual.htm">IfEqual</a>, <a href="IfIn.htm">If Var [not] in/contains MatchList</a>, <a href="IfBetween.htm">If Var [not] between Low and High</a>, <a href="IfIs.htm">If Var is [not] Type</a>, <a href="Block.htm">Blocks</a>, <a href="Else.htm">Else</a></p>
44 | <h2 id="Examples">Examples</h2>
45 | <div class="ex" id="ExBasic">
46 | <p><a class="ex_number" href="#ExBasic"></a> Checks whether <var>Haystack</var> contains the substring "abc".</p>
47 | <pre>Haystack := "abcdefghijklmnopqrs"
48 | Needle := "abc"
49 | IfInString, Haystack, %Needle%
50 | {
51 |     MsgBox, The string was found.
52 |     return
53 | }
54 | else
55 |     Sleep, 1</pre>
56 | </div>
57 | 
58 | </body>
59 | </html>
60 | 


--------------------------------------------------------------------------------
/docs/lib/IfMsgBox.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>IfMsgBox - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The IfMsgBox statement checks which button was pushed by the user during the most recent MsgBox command." />
 6 | <meta name="ahk:equiv-v2" content="lib/MsgBox.htm#Result" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>IfMsgBox</h1>
15 | 
16 | <p>Checks which button was pushed by the user during the most recent <a href="MsgBox.htm">MsgBox</a> command.</p>
17 | 
18 | <pre class="Syntax"><span class="func">IfMsgBox</span>, ButtonName</pre>
19 | <h2 id="Parameters">Parameters</h2>
20 | <dl>
21 | 
22 |   <dt>ButtonName</dt>
23 |   <dd><p>One of the following strings to represent which button the user pressed in the most recent <a href="MsgBox.htm">MsgBox</a> command:</p>
24 |     <ul>
25 |       <li>Yes</li>
26 |       <li>No</li>
27 |       <li>OK</li>
28 |       <li>Cancel</li>
29 |       <li>Abort</li>
30 |       <li>Ignore</li>
31 |       <li>Retry</li>
32 |       <li>Continue <span class="ver">[v1.0.44.08+]</span></li>
33 |       <li>TryAgain <span class="ver">[v1.0.44.08+]</span></li>
34 |       <li>Timeout (that is, the word "timeout" is present if the message box <a href="MsgBox.htm#Timeout">timed out</a>)</li>
35 |     </ul>
36 |   </dd>
37 | 
38 | </dl>
39 | 
40 | <h2 id="Related">Related</h2>
41 | <p><a href="MsgBox.htm">MsgBox</a></p>
42 | <h2 id="Examples">Examples</h2>
43 | <div class="ex" id="ExBasic">
44 | <p><a class="ex_number" href="#ExBasic"></a> Shows a yes-no message box which automatically stops execution after 5 seconds. The user can press the "No" button to initiate the stop immediately.</p>
45 | <pre>MsgBox, 4, , Would you like to continue?, 5  <em>; 5-second timeout.</em>
46 | IfMsgBox, No
47 |     Return  <em>; User pressed the "No" button.</em>
48 | IfMsgBox, Timeout
49 |     Return <em>; i.e. Assume "No" if it timed out.
50 | ; Otherwise, continue:</em>
51 | <em>; ...</em></pre>
52 | </div>
53 | 
54 | </body>
55 | </html>
56 | 


--------------------------------------------------------------------------------
/docs/lib/IniDelete.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>IniDelete - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The IniDelete command deletes a value from a standard format .ini file." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>IniDelete</h1>
14 | 
15 | <p>Deletes a value from a standard format .ini file.</p>
16 | 
17 | <pre class="Syntax"><span class="func">IniDelete</span>, Filename, Section <span class="optional">, Key</span></pre>
18 | <h2 id="Parameters">Parameters</h2>
19 | <dl>
20 | 
21 |   <dt>Filename</dt>
22 |   <dd><p>The name of the .ini file, which is assumed to be in <a href="../Variables.htm#WorkingDir">%A_WorkingDir%</a> if an absolute path isn't specified.</p></dd>
23 | 
24 |   <dt>Section</dt>
25 |   <dd><p>The section name in the .ini file, which is the heading phrase that appears in square brackets (do not include the brackets in this parameter).</p></dd>
26 | 
27 |   <dt>Key</dt>
28 |   <dd><p>If omitted, the entire section will be deleted. Otherwise, specify the key name in the .ini file.</p></dd>
29 | 
30 | </dl>
31 | <h2 id="Error_Handling">Error Handling</h2>
32 | <p><span class="ver">[v1.1.04+]</span>: This command is able to throw an exception on failure. For more information, see <a href="Catch.htm#RuntimeErrors">Runtime Errors</a>.</p>
33 | <p><a href="../misc/ErrorLevel.htm">ErrorLevel</a> is set to 1 if there was a problem or 0 otherwise.</p>
34 | <h2 id="Remarks">Remarks</h2>
35 | <p>A standard ini file looks like:</p>
36 | <pre>[SectionName]
37 | Key=Value</pre>
38 | <h2 id="Related">Related</h2>
39 | <p><a href="IniRead.htm">IniRead</a>, <a href="IniWrite.htm">IniWrite</a>, <a href="RegDelete.htm">RegDelete</a></p>
40 | <h2 id="Examples">Examples</h2>
41 | <div class="ex" id="ExBasic">
42 | <p><a class="ex_number" href="#ExBasic"></a> Deletes a key and its value located in section2 from a standard format .ini file.</p>
43 | <pre>IniDelete, C:\Temp\myfile.ini, section2, key</pre>
44 | </div>
45 | 
46 | </body>
47 | </html>
48 | 


--------------------------------------------------------------------------------
/docs/lib/IsByRef.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>IsByRef() - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The IsByRef function returns a non-zero number if the specified ByRef parameter was supplied with a variable." />
 6 | <meta name="ahk:equiv-v2" content="Concepts.htm#variable-references" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>IsByRef() <span class="ver">[v1.1.01+]</span></h1>
15 | 
16 | <p>Returns a non-zero number if the specified <a href="../Functions.htm#ByRef">ByRef parameter</a> was supplied with a variable.</p>
17 | 
18 | <pre class="Syntax">Boolean := <span class="func">IsByRef</span>(ParameterVar)</pre>
19 | <h2 id="Parameters">Parameters</h2>
20 | <dl>
21 | 
22 |   <dt>ParameterVar</dt>
23 |   <dd><p>A reference to the variable. For example: <code>IsByRef(MyParameter)</code>.</p></dd>
24 | 
25 | </dl>
26 | 
27 | <h2 id="Return_Value">Return Value</h2>
28 | <p>This function returns 1 (true) if <em>ParameterVar</em> is a <a href="../Functions.htm#ByRef">ByRef parameter</a> and the caller supplied a variable; or 0 (false) if <em>ParameterVar</em> is any other kind of variable.</p>
29 | 
30 | <h2 id="Related">Related</h2>
31 | <p><a href="../Functions.htm#ByRef">ByRef parameters</a></p>
32 | <h2 id="Examples">Examples</h2>
33 | <div class="ex" id="ExBasic">
34 | <p><a class="ex_number" href="#ExBasic"></a> Reports 1 (true) because <var>Param</var> is a <a href="../Functions.htm#ByRef">ByRef parameter</a> and was supplied with a variable.</p>
35 | <pre>MsgBox, % Function(MyVar)
36 | 
37 | Function(ByRef Param)
38 | {
39 |     return IsByRef(Param)
40 | }</pre>
41 | </div>
42 | 
43 | </body>
44 | </html>
45 | 


--------------------------------------------------------------------------------
/docs/lib/IsFunc.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>IsFunc() - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The IsFunc function returns a non-zero number if the specified function exists in the script." />
 6 | <meta name="ahk:equiv-v2" content="lib/Func.htm" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>IsFunc() <span class="ver">[v1.0.48+]</span></h1>
15 | 
16 | <p>Returns a non-zero number if the specified function exists in the script.</p>
17 | 
18 | <pre class="Syntax">MinParamsPlus1 := <span class="func">IsFunc</span>(FunctionName)</pre>
19 | <h2 id="Parameters">Parameters</h2>
20 | <dl>
21 | 
22 |   <dt>FunctionName</dt>
23 |   <dd><p>The name of the function whose minimum number of parameters is retrieved. <em>FunctionName</em> must exist explicitly in the script. In <span class="ver">[v1.1.00+]</span>, <em>FunctionName</em> can be a <a href="../Objects.htm#Function_References">function reference</a> instead of a name.</p></dd>
24 | 
25 | </dl>
26 | 
27 | <h2 id="Return_Value">Return Value</h2>
28 | <p>This function returns one plus the minimum number of parameters (e.g. 1 for a function that requires zero parameters, 2 for a function that requires 1 parameter, etc.). If <em>FunctionName</em> does not exist explicitly in the script (by means such as <a href="_Include.htm">#Include</a> or a non-dynamic call to a <a href="../Functions.htm#lib">library function</a>), it returns 0.</p>
29 | 
30 | <h2 id="Related">Related</h2>
31 | <p><a href="../Functions.htm#DynCall">Dynamically Calling a Function</a>, <a href="../Objects.htm#Function_References">Function References</a>, <a href="Func.htm">Func Object</a>, <a href="Func.htm#Func">Func()</a>, <a href="../Variables.htm#ThisFunc">A_ThisFunc</a></p>
32 | <h2 id="Examples">Examples</h2>
33 | <div class="ex" id="ExBasic">
34 | <p><a class="ex_number" href="#ExBasic"></a> Reports the number of mandatory parameters of a function.</p>
35 | <pre>count := IsFunc("RegExReplace") <em>; Any function name can be used here.</em>
36 | if count
37 |     MsgBox, % "This function exists and has " count-1 " mandatory parameters."
38 | else
39 |     MsgBox, % "This function does not exist."</pre>
40 | </div>
41 | 
42 | </body>
43 | </html>
44 | 


--------------------------------------------------------------------------------
/docs/lib/IsLabel.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>IsLabel() - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The IsLabel function returns a non-zero number if the specified label exists in the script." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>IsLabel()</h1>
14 | 
15 | <p>Returns a non-zero number if the specified label exists in the script.</p>
16 | 
17 | <pre class="Syntax">Boolean := <span class="func">IsLabel</span>(LabelName)</pre>
18 | <h2 id="Parameters">Parameters</h2>
19 | <dl>
20 | 
21 |   <dt>LabelName</dt>
22 |   <dd><p>The name of a <a href="Gosub.htm">subroutine</a>, <a href="../Hotkeys.htm">hotkey</a>, or <a href="../Hotstrings.htm">hotstring</a>. The trailing colon(s) should not be included.</p></dd>
23 | 
24 | </dl>
25 | 
26 | <h2 id="Return_Value">Return Value</h2>
27 | <p>This function returns 1 (true) if <em>LabelName</em> exists in the script, otherwise 0 (false).</p>
28 | 
29 | <h2 id="Remarks">Remarks</h2>
30 | <p>This function is useful to avoid runtime errors when specifying a dynamic label in commands such as <a href="Gosub.htm">Gosub</a>, <a href="Hotkey.htm">Hotkey</a>, <a href="Menu.htm">Menu</a>, and <a href="Gui.htm">Gui</a>.</p>
31 | <h2 id="Related">Related</h2>
32 | <p><a href="../misc/Labels.htm">Labels</a></p>
33 | <h2 id="Examples">Examples</h2>
34 | <div class="ex" id="ExSubroutine">
35 | <p><a class="ex_number" href="#ExSubroutine"></a> Reports "Subroutine exists" because the subroutine does exist.</p>
36 | <pre>if IsLabel("Label")
37 |     MsgBox, Subroutine exists
38 | else
39 |     MsgBox, Subroutine doesn't exist
40 | 
41 | Label:
42 | return</pre>
43 | </div>
44 | 
45 | <div class="ex" id="ExHotkey">
46 | <p><a class="ex_number" href="#ExHotkey"></a> Reports "Hotkey exists" because the hotkey does exist.</p>
47 | <pre>if IsLabel("^#h")
48 |     MsgBox, Hotkey exists
49 | else
50 |     MsgBox, Hotkey doesn't exist
51 | 
52 | ^#h::return</pre>
53 | </div>
54 | 
55 | <div class="ex" id="ExHotstring">
56 | <p><a class="ex_number" href="#ExHotstring"></a> Reports "Hotstring exists" because the hotstring does exist.</p>
57 | <pre>if IsLabel("::btw")
58 |     MsgBox, Hotstring exists
59 | else
60 |     MsgBox, Hotstring doesn't exist
61 | 
62 | ::btw::by the way</pre>
63 | </div>
64 | 
65 | </body>
66 | </html>
67 | 


--------------------------------------------------------------------------------
/docs/lib/IsObject.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>IsObject() - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The IsObject function returns a non-zero number if the specified value is an object." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>IsObject() <span class="ver">[v1.0.90+]</span></h1>
14 | 
15 | <p>Returns a non-zero number if the specified value is an object.</p>
16 | 
17 | <pre class="Syntax">Boolean := <span class="func">IsObject</span>(Value)</pre>
18 | <h2 id="Parameters">Parameters</h2>
19 | <dl>
20 | 
21 |   <dt>Value</dt>
22 |   <dd>
23 |     <p>The value to check.</p>
24 |   </dd>
25 | 
26 | </dl>
27 | 
28 | <h2 id="Return_Value">Return Value</h2>
29 | <p>This function returns 1 (true) if <em>Value</em> is an object, otherwise 0 (false).</p>
30 | 
31 | <h2 id="Remarks">Remarks</h2>
32 | <p>Any value which is not a primitive value (number or string) is considered to be an object, including those which do not derive from <a href="Object.htm">Object</a>, such as COM wrapper objects. This distinction is made because objects share several common traits in contrast to primitive values:</p>
33 | <ul>
34 |   <li>Each object is dynamically allocated and <a href="../Objects.htm#Reference_Counting">reference-counted</a>. Any number of variables, properties or array elements may refer to the same object. For immutable values this distinction isn't important, but objects can have mutable properties.</li>
35 |   <li>Each object has a <a href="../Objects.htm#Implementation_Pointers">unique address</a> which is also an interface pointer compatible with <a href="https://learn.microsoft.com/windows/win32/api/oaidl/nn-oaidl-idispatch">IDispatch</a>.</li>
36 |   <li>An object compares equal to another value only if it is the same object.</li>
37 |   <li>Attempts to use an object as a primitive value typically behave as though the value is an empty string.</li>
38 | </ul>
39 | 
40 | <h2 id="Related">Related</h2>
41 | <p><a href="../Objects.htm">Objects</a></p>
42 | <h2 id="Examples">Examples</h2>
43 | <div class="ex" id="ExBasic">
44 | <p><a class="ex_number" href="#ExBasic"></a> Reports "This is an object." because the value is an object.</p>
45 | <pre>object := {key: "value"}
46 | 
47 | if IsObject(object)
48 |     MsgBox, This is an object.
49 | else
50 |     MsgBox, This is not an object.</pre>
51 | </div>
52 | 
53 | </body>
54 | </html>
55 | 


--------------------------------------------------------------------------------
/docs/lib/IsSet.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>IsSet() - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The IsSet function return a non-zero number if the specified variable has been assigned a value." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>IsSet() <span class="ver">[v1.1.35+]</span></h1>
14 | 
15 | <p>Returns a non-zero number if the specified variable has been assigned a value.</p>
16 | 
17 | <pre class="Syntax">Boolean := <span class="func">IsSet</span>(Var)</pre>
18 | <h2 id="Parameters">Parameters</h2>
19 | <dl>
20 | 
21 |   <dt>Var</dt>
22 |   <dd>
23 |     <p>A direct or dynamic variable reference. For example: <code>IsSet(MyVar)</code> or <code>IsSet(%VarContainingName%)</code>.</p>
24 |   </dd>
25 | 
26 | </dl>
27 | 
28 | <h2 id="Return_Value">Return Value</h2>
29 | <p>This function returns 1 (true) if <em>Var</em> has been assigned a value, otherwise 0 (false).</p>
30 | 
31 | <h2 id="Remarks">Remarks</h2>
32 | <p>A variable which has not been assigned a value is also known as an <a href="../Concepts.htm#uninitialized-variables">uninitialized variable</a>.</p>
33 | <p>This function is affected by the following technical limitations of AutoHotkey v1.1:</p>
34 | <ul>
35 |   <li>Attempting to read a variable when <a href="_Warn.htm#UseUnset">#Warn UseUnset</a> is enabled in MsgBox mode causes the variable to be marked as initialized to ensure the message is displayed only once for each variable. Subsequent calls to IsSet would return 1.</li>
36 |   <li>IsSet cannot recognize built-in variables when called dynamically. Calling IsSet dynamically is not recommended.</li>
37 | </ul>
38 | 
39 | <h2 id="Related">Related</h2>
40 | <p><a href="../Functions.htm#ByRef">ByRef parameters</a></p>
41 | <h2 id="Examples">Examples</h2>
42 | <div class="ex" id="ExBasic">
43 | <p><a class="ex_number" href="#ExBasic"></a> Shows different uses for IsSet.</p>
44 | <pre>
45 | Loop 2
46 |     if !IsSet(MyVar)  <em>; Is this the first "use" of MyVar?</em>
47 |         MyVar := A_Index  <em>; Initialize on first "use".</em>
48 | MsgBox % "MyVar is " (IsSet(MyVar) ? "set and has value """ MyVar """" : "unset")
49 | </pre>
50 | </div>
51 | 
52 | </body>
53 | </html>
54 | 


--------------------------------------------------------------------------------
/docs/lib/ListHotkeys.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>ListHotkeys - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The ListHotkeys command displays the hotkeys in use by the current script, whether their subroutines are currently running, and whether they use a hook." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>ListHotkeys</h1>
14 | 
15 | <p>Displays the hotkeys in use by the current script, whether their subroutines are currently running, and whether or not they use the <a href="_InstallKeybdHook.htm">keyboard</a> or <a href="_InstallMouseHook.htm">mouse</a> hook.</p>
16 | 
17 | <pre class="Syntax"><span class="func">ListHotkeys</span></pre>
18 | <p>This command is equivalent to selecting the View-&gt;Hotkeys menu item in the <a href="../Program.htm#main-window">main window</a>.</p>
19 | <p>If a hotkey has been disabled via the <a href="Hotkey.htm">Hotkey</a> command, it will be listed as OFF or PART ("PART" means that only some of the hotkey's <a href="Hotkey.htm#variant">variants</a> are disabled).</p>
20 | <p><span class="ver">[v1.1.16+]</span>: If any of a hotkey's variants have a non-zero <a href="_InputLevel.htm">#InputLevel</a>, the level (or minimum and maximum levels) are displayed.</p>
21 | <p>If any of a hotkey's subroutines are currently running, the total number of threads is displayed for that hotkey.</p>
22 | <p>Finally, the type of hotkey is also displayed, which is one of the following:</p>
23 | <ul>
24 |   <li>reg: The hotkey is implemented via the operating system's RegisterHotkey() function.</li>
25 |   <li>reg(no): Same as above except that this hotkey is inactive (due to being unsupported, disabled, or <a href="Suspend.htm">suspended</a>).</li>
26 |   <li>k-hook: The hotkey is implemented via the <a href="_InstallKeybdHook.htm">keyboard hook</a>.</li>
27 |   <li>m-hook: The hotkey is implemented via the <a href="_InstallMouseHook.htm">mouse hook</a>.</li>
28 |   <li>2-hooks: The hotkey requires both the hooks mentioned above.</li>
29 |   <li>joypoll: The hotkey is implemented by polling the controller at regular intervals.</li>
30 | </ul>
31 | 
32 | <h2 id="Related">Related</h2>
33 | <p><a href="_InstallKeybdHook.htm">#InstallKeybdHook</a>, <a href="_InstallMouseHook.htm">#InstallMouseHook</a>, <a href="_UseHook.htm">#UseHook</a>, <a href="KeyHistory.htm">KeyHistory</a>, <a href="ListLines.htm">ListLines</a>, <a href="ListVars.htm">ListVars</a>, <a href="_MaxThreadsPerHotkey.htm">#MaxThreadsPerHotkey</a>, <a href="_MaxHotkeysPerInterval.htm">#MaxHotkeysPerInterval</a></p>
34 | <h2 id="Examples">Examples</h2>
35 | <div class="ex" id="ExBasic">
36 | <p><a class="ex_number" href="#ExBasic"></a> Displays information about the hotkeys used by the current script.</p>
37 | <pre>ListHotkeys</pre>
38 | </div>
39 | 
40 | </body>
41 | </html>
42 | 


--------------------------------------------------------------------------------
/docs/lib/MenuGetHandle.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>MenuGetHandle() - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The MenuGetHandle function retrieves the Win32 menu handle of a menu." />
 6 | <meta name="ahk:equiv-v2" content="lib/Menu.htm#Handle" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>MenuGetHandle() <span class="ver">[v1.1.23+]</span></h1>
15 | 
16 | <p>Retrieves the <a href="Menu.htm#Win32_Menus">Win32 menu</a> handle of a menu.</p>
17 | <pre class="Syntax">Handle := <span class="func">MenuGetHandle</span>(MenuName)</pre>
18 | 
19 | <h2 id="Parameters">Parameters</h2>
20 | <dl>
21 | 
22 |   <dt>MenuName</dt>
23 |   <dd><p>The name of an existing menu. Menu names are not case-sensitive.</p></dd>
24 | 
25 | </dl>
26 | 
27 | <h2 id="Remarks">Remarks</h2>
28 | <p>The returned handle is valid only until the Win32 menu is destroyed. Once the menu is destroyed, the operating system may reassign the handle value to any menus subsequently created by the script or any other program. Conditions which can cause the menu to be destroyed are listed under <a href="Menu.htm#Win32_Menus">Win32 Menus</a>.</p>
29 | 
30 | <h2 id="Related">Related</h2>
31 | <p><a href="Menu.htm">Menu</a>, <a href="MenuGetName.htm">MenuGetName()</a></p>
32 | 
33 | <h2 id="Examples">Examples</h2>
34 | <div class="ex" id="ExBasic">
35 | <p><a class="ex_number" href="#ExBasic"></a> Reports the number of items in a menu and the ID of the last item.</p>
36 | <pre>Menu MyMenu, Add, Item 1, no
37 | Menu MyMenu, Add, Item 2, no
38 | Menu MyMenu, Add, Item B, no
39 | 
40 | <em>; Retrieve the number of items in a menu.</em>
41 | item_count := DllCall("GetMenuItemCount", "ptr", MenuGetHandle("MyMenu"))
42 | 
43 | <em>; Retrieve the ID of the last item.</em>
44 | last_id := DllCall("GetMenuItemID", "ptr", MenuGetHandle("MyMenu"), "int", item_count-1)
45 | 
46 | MsgBox, MyMenu has %item_count% items, and its last item has ID %last_id%.
47 | 
48 | no:
49 | return
50 | </pre>
51 | </div>
52 | 
53 | </body>
54 | </html>
55 | 


--------------------------------------------------------------------------------
/docs/lib/MenuGetName.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>MenuGetName() - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The MenuGetName function retrieves the name of a menu given a handle to its underlying Win32 menu." />
 6 | <meta name="ahk:equiv-v2" content="lib/Menu.htm" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>MenuGetName() <span class="ver">[v1.1.23+]</span></h1>
15 | 
16 | <p>Retrieves the name of a menu given a handle to its underlying <a href="Menu.htm#Win32_Menus">Win32 menu</a>.</p>
17 | <pre class="Syntax">MenuName := <span class="func">MenuGetName</span>(Handle)</pre>
18 | 
19 | <h2 id="Parameters">Parameters</h2>
20 | <dl>
21 | 
22 |   <dt>Handle</dt>
23 |   <dd><p>A Win32 menu handle (HMENU).</p></dd>
24 | 
25 | </dl>
26 | 
27 | <h2 id="Remarks">Remarks</h2>
28 | <p>Only the menu's current handle is recognized. When the menu's underlying Win32 menu is destroyed and recreated, the handle changes. For details, see <a href="Menu.htm#Win32_Menus">Win32 Menus</a>.</p>
29 | 
30 | <h2 id="Related">Related</h2>
31 | <p><a href="Menu.htm">Menu</a>, <a href="MenuGetHandle.htm">MenuGetHandle()</a></p>
32 | 
33 | </body>
34 | </html>
35 | 


--------------------------------------------------------------------------------
/docs/lib/ObjAddRef.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>ObjAddRef() / ObjRelease() - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The ObjAddRef and ObjRelease functions increment or decrement an object's reference count." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | 
14 | <h1>ObjAddRef() / ObjRelease() <span class="ver">[AHK_L 53+]</span></h1>
15 | 
16 | <p>Increments or decrements an object's <a href="../Objects.htm#Reference_Counting">reference count</a>.</p>
17 | 
18 | <pre class="Syntax"><span class="func">ObjAddRef</span>(Ptr)
19 | <span class="func">ObjRelease</span>(Ptr)</pre>
20 | 
21 | <h2 id="Parameters">Parameters</h2>
22 | <dl>
23 | 
24 |   <dt>Ptr</dt>
25 |   <dd><p>An unmanaged object pointer or COM interface pointer.</p></dd>
26 | 
27 | </dl>
28 | 
29 | <h2 id="Return_Value">Return Value</h2>
30 | <p>These functions return the new reference count. This value should be used <b>only</b> for debugging purposes.</p>
31 | 
32 | <h2 id="Related">Related</h2>
33 | <p><a href="../Objects.htm#Reference_Counting">Reference Counting</a></p>
34 | <p>Although the following articles discuss reference counting as it applies to COM, they cover some important concepts and rules which generally also apply to AutoHotkey objects: <a href="https://learn.microsoft.com/windows/win32/api/unknwn/nf-unknwn-iunknown-addref">IUnknown::AddRef</a>, <a href="https://learn.microsoft.com/windows/win32/api/unknwn/nf-unknwn-iunknown-release">IUnknown::Release</a>, <a href="https://learn.microsoft.com/windows/win32/com/rules-for-managing-reference-counts">Reference Counting Rules</a>.</p>
35 | 
36 | <h2 id="Examples">Examples</h2>
37 | <div class="ex" id="ExBasic">
38 | <p><a class="ex_number" href="#ExBasic"></a> Retrieves the pointer of an object and increments the reference count. For details, see <a href="../Objects.htm#Implementation_Pointers">Pointers to Objects</a>.</p>
39 | <pre>obj := Object()
40 | 
41 | <em>; The following two lines are equivalent:</em>
42 | ptr1 := Object(obj)
43 | ptr2 := ObjectToPointer(obj)
44 | 
45 | ObjectToPointer(obj) {
46 |     if !IsObject(obj)
47 |         return ""
48 |     ptr := &amp;obj
49 |     ObjAddRef(ptr)
50 |     return ptr
51 | }
52 | 
53 | <em>; Each pointer retrieved via Object() or ObjectToPointer() must be manually released
54 | ; to allow the object to be eventually freed and any memory used by it reclaimed.</em>
55 | ObjRelease(ptr2)
56 | ObjRelease(ptr1)
57 | </pre>
58 | </div>
59 | 
60 | <p>For another example, see <a href="ComObjConnect.htm#ExIE">ComObjConnect()</a>.</p>
61 | 
62 | </body>
63 | </html>
64 | 


--------------------------------------------------------------------------------
/docs/lib/ObjBindMethod.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>ObjBindMethod() - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The ObjBindMethod function creates a BoundFunc object which calls a method of a given object." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>ObjBindMethod() <span class="ver">[v1.1.20+]</span></h1>
14 | 
15 | <p>Creates a <a href="../misc/Functor.htm#BoundFunc">BoundFunc object</a> which calls a method of a given object.</p>
16 | 
17 | <pre class="Syntax">BoundFunc := <span class="func">ObjBindMethod</span>(Obj, Method, <i>Params</i>)</pre>
18 | 
19 | <h2 id="Parameters">Parameters</h2>
20 | <dl>
21 | 
22 |   <dt>Obj</dt>
23 |   <dd><p>Any object.</p></dd>
24 | 
25 |   <dt>Method</dt>
26 |   <dd><p>A method name.</p></dd>
27 |   
28 |   <dt><i>Params</i></dt>
29 |   <dd><p>Any number of parameters.</p></dd>
30 | 
31 | </dl>
32 | 
33 | <h2 id="Remarks">Remarks</h2>
34 | <p>For details and examples, see <a href="../misc/Functor.htm#BoundFunc">BoundFunc object</a>.</p>
35 | 
36 | </body>
37 | </html>
38 | 


--------------------------------------------------------------------------------
/docs/lib/Ord.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>Ord() - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The Ord function returns the ordinal value (numeric character code) of the first character in the specified string." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>Ord() <span class="ver">[v1.1.21+]</span></h1>
14 | 
15 | <p>Returns the ordinal value (numeric character code) of the first character in the specified string.</p>
16 | 
17 | <pre class="Syntax">Number := <span class="func">Ord</span>(String)</pre>
18 | <h2 id="Parameters">Parameters</h2>
19 | <dl>
20 | 
21 |   <dt>String</dt>
22 |   <dd><p>The string whose ordinal value is retrieved.</p></dd>
23 | 
24 | </dl>
25 | 
26 | <h2 id="Return_Value">Return Value</h2>
27 | <p>This function returns the ordinal value of <em>String</em>, or 0 if <em>String</em> is empty. If <em>String</em> begins with a Unicode supplementary character, this function returns the corresponding Unicode character code (a number between 0x10000 and 0x10FFFF). Otherwise it returns a value in the range 0 to 255 (for ANSI) or 0 to 0xFFFF (for Unicode). See <a href="../Compat.htm#Format">Unicode vs ANSI</a> for details.</p>
28 | 
29 | <h2 id="Remarks">Remarks</h2>
30 | <p>Apart from the Unicode supplementary character detection, this function is identical to <a href="Asc.htm">Asc()</a>.</p>
31 | 
32 | <h2 id="Related">Related</h2>
33 | <p><a href="Asc.htm">Asc()</a>, <a href="Chr.htm">Chr()</a></p>
34 | <h2 id="Examples">Examples</h2>
35 | <div class="ex" id="ExBasic">
36 | <p><a class="ex_number" href="#ExBasic"></a> Both message boxes below show 116, because only the first character is considered.</p>
37 | <pre>MsgBox, % Ord("t") 
38 | MsgBox, % Ord("test")</pre>
39 | </div>
40 | 
41 | </body>
42 | </html>
43 | 


--------------------------------------------------------------------------------
/docs/lib/OutputDebug.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>OutputDebug - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The OutputDebug command sends a string to the debugger (if any) for display." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>OutputDebug</h1>
14 | 
15 | <p>Sends a string to the debugger (if any) for display.</p>
16 | 
17 | <pre class="Syntax"><span class="func">OutputDebug</span>, Text</pre>
18 | <h2 id="Parameters">Parameters</h2>
19 | <dl>
20 | 
21 |   <dt>Text</dt>
22 |   <dd><p>The text to send to the debugger for display. This text may include linefeed characters (`n) to start new lines. In addition, a single long line can be broken up into several shorter ones by means of a <a href="../Scripts.htm#continuation">continuation section</a>.</p></dd>
23 | 
24 | </dl>
25 | 
26 | <h2 id="Remarks">Remarks</h2>
27 | <p>If the script's process has no debugger, the system debugger displays the string. If the system debugger is not active, this command has no effect.</p>
28 | <p>One example of a debugger is DebugView, which is free and available at <a href="https://learn.microsoft.com/sysinternals/downloads/debugview">microsoft.com</a>.</p>
29 | <p>See also: <a href="../Scripts.htm#debug">other debugging methods</a></p>
30 | <h2 id="Related">Related</h2>
31 | <p><a href="FileAppend.htm">FileAppend</a>, <a href="../Scripts.htm#continuation">continuation sections</a></p>
32 | <h2 id="Examples">Examples</h2>
33 | <div class="ex" id="ExBasic">
34 | <p><a class="ex_number" href="#ExBasic"></a> Sends a string to the debugger (if any) for display.</p>
35 | <pre>OutputDebug, %A_Now%: Because the window "%TargetWindowTitle%" did not exist, the process was aborted.</pre>
36 | </div>
37 | 
38 | </body>
39 | </html>
40 | 


--------------------------------------------------------------------------------
/docs/lib/Shutdown.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>Shutdown - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The Shutdown command shuts down, restarts, or logs off the system." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>Shutdown</h1>
14 | 
15 | <p>Shuts down, restarts, or logs off the system.</p>
16 | 
17 | <pre class="Syntax"><span class="func">Shutdown</span>, Flag</pre>
18 | <h2 id="Parameters">Parameters</h2>
19 | <dl>
20 | 
21 |   <dt>Flag</dt>
22 |   <dd>
23 |     <p>A combination (sum) of the following numbers:</p>
24 |     <ul>
25 |       <li>0 = Logoff</li>
26 |       <li>1 = Shutdown</li>
27 |       <li>2 = Reboot</li>
28 |       <li>4 = Force</li>
29 |       <li>8 = Power down</li>
30 |     </ul>
31 |     <p>Add the required values together. For example, to shutdown and power down the flag would be 9 (shutdown + power down = 1 + 8 = 9). Alternatively, an <a href="../Variables.htm#Expressions">expression</a> such as 1+8 can be specified.</p>
32 |     <p>The "Force" value (4) forces all open applications to close. It should only be used in an emergency because it may cause any open applications to lose data.</p>
33 |     <p>The "Power down" value (8) shuts down the system and turns off the power.</p>
34 |   </dd>
35 | 
36 | </dl>
37 | 
38 | <h2 id="Remarks">Remarks</h2>
39 | <p>To have the system suspend or hibernate, see <a href="#Suspend">example #2</a> at the bottom of this page.</p>
40 | <p>To turn off the monitor, see <a href="PostMessage.htm#ExMonitorPower">PostMessage example #1</a>.</p>
41 | <p>On a related note, a script can detect when the system is shutting down or the user is logging off via <a href="OnExit.htm">OnExit</a>.</p>
42 | <h2 id="Related">Related</h2>
43 | <p><a href="Run.htm">Run</a>, <a href="ExitApp.htm">ExitApp</a>, <a href="OnExit.htm">OnExit</a></p>
44 | <h2 id="Examples">Examples</h2>
45 | <div class="ex" id="ExBasic">
46 | <p><a class="ex_number" href="#ExBasic"></a> Forces a reboot (reboot + force = 2 + 4 = 6).</p>
47 | <pre>Shutdown, 6</pre>
48 | </div>
49 | 
50 | <div class="ex" id="Suspend">
51 | <p><a class="ex_number" href="#Suspend"></a> Calls the Windows API function "SetSuspendState" to have the system suspend or hibernate. Note that the second parameter may have no effect at all on newer systems.</p>
52 | <pre><em>; Parameter #1: Pass 1 instead of 0 to hibernate rather than suspend.
53 | ; Parameter #2: Pass 1 instead of 0 to suspend immediately rather than asking each application for permission.
54 | ; Parameter #3: Pass 1 instead of 0 to disable all wake events.</em>
55 | DllCall("PowrProf\SetSuspendState", "Int", 0, "Int", 0, "Int", 0)</pre>
56 | </div>
57 | 
58 | </body>
59 | </html>
60 | 


--------------------------------------------------------------------------------
/docs/lib/SoundBeep.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>SoundBeep - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The SoundBeep command emits a tone from the PC speaker." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>SoundBeep</h1>
14 | 
15 | <p>Emits a tone from the PC speaker.</p>
16 | 
17 | <pre class="Syntax"><span class="func">SoundBeep</span> <span class="optional">, Frequency, Duration</span></pre>
18 | <h2 id="Parameters">Parameters</h2>
19 | <dl>
20 | 
21 |   <dt>Frequency</dt>
22 |   <dd><p>If blank or omitted, it defaults to 523. Otherwise, specify the frequency of the sound, a number between 37 and 32767, which can be an <a href="../Variables.htm#Expressions">expression</a>.</p></dd>
23 | 
24 |   <dt>Duration</dt>
25 |   <dd><p>If blank or omitted, it defaults to 150. Otherwise, specify the duration of the sound, in milliseconds, which can be an <a href="../Variables.htm#Expressions">expression</a>.</p></dd>
26 | 
27 | </dl>
28 | 
29 | <h2 id="Remarks">Remarks</h2>
30 | <p>The script waits for the sound to finish before continuing. In addition, system responsiveness might be reduced during sound production.</p>
31 | <p>If the computer lacks a sound card, a standard beep is played through the PC speaker.</p>
32 | <p>To produce the standard system sounds instead of beeping the PC Speaker, see the asterisk mode of <a href="SoundPlay.htm">SoundPlay</a>.</p>
33 | <h2 id="Related">Related</h2>
34 | <p><a href="SoundPlay.htm">SoundPlay</a></p>
35 | <h2 id="Examples">Examples</h2>
36 | <div class="ex" id="ExBasic">
37 | <p><a class="ex_number" href="#ExBasic"></a> Plays the default pitch and duration.</p>
38 | <pre>SoundBeep</pre>
39 | </div>
40 | 
41 | <div class="ex" id="ExParams">
42 | <p><a class="ex_number" href="#ExParams"></a> Plays a higher pitch for half a second.</p>
43 | <pre>SoundBeep, 750, 500</pre>
44 | </div>
45 | 
46 | </body>
47 | </html>


--------------------------------------------------------------------------------
/docs/lib/SoundGetWaveVolume.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>SoundGetWaveVolume - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The SoundGetWaveVolume command retrieves the wave output volume of a sound device." />
 6 | <meta name="ahk:equiv-v2" content="lib/SoundGetVolume.htm" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>SoundGetWaveVolume</h1>
15 | 
16 | <p>Retrieves the wave output volume of a sound device.</p>
17 | 
18 | <pre class="Syntax"><span class="func">SoundGetWaveVolume</span>, OutputVar <span class="optional">, DeviceNumber</span></pre>
19 | <h2 id="Parameters">Parameters</h2>
20 | <dl>
21 | 
22 |   <dt>OutputVar</dt>
23 |   <dd><p>The name of the output variable in which to store the retrieved volume level, which is a floating point number between 0 and 100 inclusive. The variable will be made blank if there was a problem retrieving the volume. The format of the floating point number, such as its decimal places, is determined by <a href="SetFormat.htm">SetFormat</a>.</p></dd>
24 | 
25 |   <dt>DeviceNumber</dt>
26 |   <dd><p>If blank or omitted, it defaults to 1 (the first sound device), which is usually the system's default device for recording and playback. Otherwise, specify a number higher than 1 to operate upon a different sound device.</p></dd>
27 | 
28 | </dl>
29 | <h2 id="Error_Handling">Error Handling</h2>
30 | <p><span class="ver">[v1.1.04+]</span>: This command is able to throw an exception on failure. For more information, see <a href="Catch.htm#RuntimeErrors">Runtime Errors</a>.</p>
31 | <p><a href="../misc/ErrorLevel.htm">ErrorLevel</a> is set to 1 if there was a problem or 0 otherwise.</p>
32 | <h2 id="Remarks">Remarks</h2>
33 | <p>The current wave output volume level can be set via <a href="SoundSetWaveVolume.htm">SoundSetWaveVolume</a>. Settings such as Master Volume, Synth, Microphone, Mute, Treble, and Bass can be set and retrieved using <a href="SoundSet.htm">SoundSet</a> and <a href="SoundGet.htm">SoundGet</a>.</p>
34 | <p><span class="ver">[v1.1.10+]</span>: On Windows Vista and later, this command is equivalent to <code><a href="SoundGet.htm">SoundGet</a>, OutputVar, Wave, Volume</code>.</p>
35 | <h2 id="Related">Related</h2>
36 | <p><a href="SoundSetWaveVolume.htm">SoundSetWaveVolume</a>, <a href="SoundSet.htm">SoundSet</a>, <a href="SoundGet.htm">SoundGet</a>, <a href="SoundPlay.htm">SoundPlay</a></p>
37 | <h2 id="Examples">Examples</h2>
38 | <div class="ex" id="ExBasic">
39 | <p><a class="ex_number" href="#ExBasic"></a> Retrieves and reports the current wave output volume.</p>
40 | <pre>SoundGetWaveVolume, OutputVar
41 | MsgBox, The current wave output volume level is %OutputVar%`%.</pre>
42 | </div>
43 | 
44 | </body>
45 | </html>
46 | 


--------------------------------------------------------------------------------
/docs/lib/StrLen.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>StrLen() - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The StrLen function retrieves the count of how many characters are in a string." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>StrLen()</h1>
14 | <p>Retrieves the count of how many characters are in a string.</p>
15 | <pre class="Syntax">Length := <span class="func">StrLen</span>(String)</pre>
16 | 
17 | <h2 id="Parameters">Parameters</h2>
18 | <dl>
19 |   <dt>String</dt>
20 |   <dd>The string whose contents will be measured.</dd>
21 | </dl>
22 | 
23 | <h2 id="Return_Value">Return Value</h2>
24 | <p>This function returns the length of the string.</p>
25 | 
26 | <h2 id="Remarks">Remarks</h2>
27 | <p>If <var>String</var> is a variable to which <a href="../misc/Clipboard.htm#ClipboardAll">ClipboardAll</a> was previously assigned, StrLen() will retrieve its total size.</p>
28 | 
29 | <h2 id="Related">Related</h2>
30 | <p><a href="StringLen.htm">StringLen</a>, <a href="InStr.htm">InStr()</a>, <a href="SubStr.htm">SubStr()</a>, <a href="Trim.htm">Trim()</a>, <a href="StringLower.htm">StringLower</a>, <a href="StringLower.htm">StringUpper</a>, <a href="StrPut.htm">StrPut()</a>, <a href="StrGet.htm">StrGet()</a>, <a href="StrReplace.htm">StrReplace()</a>, <a href="StrSplit.htm">StrSplit()</a></p>
31 | 
32 | <h2 id="Examples">Examples</h2>
33 | <div class="ex" id="ExBasic">
34 | <p><a class="ex_number" href="#ExBasic"></a> Retrieves and reports the count of how many characters are in a string.</p>
35 | <pre>StrValue := "The quick brown fox jumps over the lazy dog"
36 | MsgBox % "The length of the string is " StrLen(StrValue) <em>; Result: 43</em></pre>
37 | </div>
38 | 
39 | </body>
40 | </html>
41 | 


--------------------------------------------------------------------------------
/docs/lib/StringLen.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>StringLen - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The StringLen command retrieves the count of how many characters are in a string." />
 6 | <meta name="ahk:equiv-v2" content="lib/StrLen.htm" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>StringLen</h1>
15 | <p>Retrieves the count of how many characters are in a string.</p>
16 | <p class="warning"><strong>Deprecated:</strong> This command is not recommended for use in new scripts. Use the <a href="StrLen.htm">StrLen</a> function instead.</p>
17 | <pre class="Syntax"><span class="func">StringLen</span>, OutputVar, InputVar</pre>
18 | 
19 | <h2 id="Parameters">Parameters</h2>
20 | <dl>
21 | 
22 |   <dt>OutputVar</dt>
23 |   <dd>The name of the output variable in which to store the length.</dd>
24 | 
25 |   <dt>InputVar</dt>
26 |   <dd>The name of the input variable whose contents will be measured. Do not enclose the name in percent signs unless you want the contents of the variable to be used as the name.</dd>
27 | 
28 | </dl>
29 | 
30 | <h2 id="Remarks">Remarks</h2>
31 | <p>For this and all other commands, <em>OutputVar</em> is allowed to be the same variable as <em>InputVar</em>.</p>
32 | <p>If <var>InputVar</var> is a variable to which <a href="../misc/Clipboard.htm#ClipboardAll">ClipboardAll</a> was previously assigned, StringLen will retrieve its total size.</p>
33 | 
34 | <h2 id="Related">Related</h2>
35 | <p><a href="StrLen.htm">StrLen()</a>, <a href="IfInString.htm">IfInString</a>, <a href="StringGetPos.htm">StringGetPos</a>, <a href="StringMid.htm">StringMid</a>, <a href="StringTrimLeft.htm">StringTrimLeft</a>, <a href="StringTrimLeft.htm">StringTrimRight</a>, <a href="StringLeft.htm">StringLeft</a>, <a href="StringLeft.htm">StringRight</a>, <a href="StringLower.htm">StringLower</a>, <a href="StringLower.htm">StringUpper</a>, <a href="StringReplace.htm">StringReplace</a></p>
36 | 
37 | <h2 id="Examples">Examples</h2>
38 | <div class="ex" id="ExBasic">
39 | <p><a class="ex_number" href="#ExBasic"></a> Retrieves and reports the count of how many characters are in a string.</p>
40 | <pre>StrValue := "The quick brown fox jumps over the lazy dog"
41 | StringLen, Length, StrValue
42 | MsgBox, The length of the string is %Length%.</pre>
43 | </div>
44 | 
45 | </body>
46 | </html>
47 | 


--------------------------------------------------------------------------------
/docs/lib/Trim.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>Trim() / LTrim() / RTrim() - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The Trim, LTrim and RTrim functions trim characters from the beginning and/or end of a string." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>Trim() / LTrim() / RTrim() <span class="ver">[AHK_L 31+]</span></h1>
14 | 
15 | <p>Trims characters from the beginning and/or end of a string.</p>
16 | 
17 | <pre class="Syntax">
18 | NewString :=  <span class="func">Trim</span>(String <span class="optional">, OmitChars</span>)
19 | NewString := <span class="func">LTrim</span>(String <span class="optional">, OmitChars</span>)
20 | NewString := <span class="func">RTrim</span>(String <span class="optional">, OmitChars</span>)
21 | </pre>
22 | <h2 id="Parameters">Parameters</h2>
23 | <dl>
24 | 
25 |   <dt>String</dt>
26 |   <dd><p>Any string value or variable. Numbers are not supported.</p></dd>
27 | 
28 |   <dt>OmitChars</dt>
29 |   <dd><p>If omitted, spaces and tabs will be removed. Otherwise, specify a list of characters (case-sensitive) to exclude from the beginning and/or end of <em>String</em>.</p></dd>
30 | 
31 | </dl>
32 | 
33 | <h2 id="Return_Value">Return Value</h2>
34 | <p>These functions return the trimmed version of the specified string.</p>
35 | 
36 | <h2 id="Examples">Examples</h2>
37 | <div class="ex" id="ExBasic">
38 | <p><a class="ex_number" href="#ExBasic"></a> Trims all spaces from the left and right side of a string.</p>
39 | <pre>text := "  text  "
40 | MsgBox % "No trim:`t '" text "'"
41 |     . "`nTrim:`t '" Trim(text) "'"
42 |     . "`nLTrim:`t '" LTrim(text) "'"
43 |     . "`nRTrim:`t '" RTrim(text) "'"</pre>
44 | </div>
45 | 
46 | <div class="ex" id="ExTrimZeros">
47 | <p><a class="ex_number" href="#ExTrimZeros"></a> Trims all zeros from the left side of a string.</p>
48 | <pre>MsgBox % LTrim("00000123", "0")</pre>
49 | </div>
50 | 
51 | </body>
52 | </html>
53 | 


--------------------------------------------------------------------------------
/docs/lib/Until.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>Until - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The Until statement applies a condition to the continuation of a Loop or For-loop." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>Until <span class="ver">[AHK_L 59+]</span></h1>
14 | 
15 | <p>Applies a condition to the continuation of a Loop or For-loop.</p>
16 | 
17 | <pre class="Syntax">
18 | <span class="func">Loop</span> {
19 |     ...
20 | } <span class="func">Until</span> <i>Expression</i>
21 | </pre>
22 | <h2 id="Parameters">Parameters</h2>
23 | <dl>
24 | 
25 |   <dt>Expression</dt>
26 |   <dd><p>Any valid <a href="../Variables.htm#Expressions">expression</a>.</p></dd>
27 | 
28 | </dl>
29 | 
30 | <h2 id="Remarks">Remarks</h2>
31 | <p>The expression is evaluated once after each iteration, and is evaluated even if <a href="Continue.htm">Continue</a> was used. If the expression evaluates to false (which is an empty string or the number 0), the loop continues; otherwise, the loop is broken and execution continues at the line following <i>Until</i>.</p>
32 | <p>Loop Until is shorthand for the following:</p>
33 | <pre>Loop {
34 |     ...
35 |     if (<i>Expression</i>)
36 |         break
37 | }</pre>
38 | <p>However, Loop Until is often easier to understand and unlike the above, can be used with a single-line action. For example:</p>
39 | <pre>Loop
40 |     x *= 2
41 | Until x &gt; y</pre>
42 | <p><i>Until</i> can be used with any Loop or For. For example:</p>
43 | <pre>Loop, Read, %A_ScriptFullPath%
44 |     lines .= A_LoopReadLine . "`n"
45 | Until A_Index=5  <em>; Read the first five lines.</em>
46 | MsgBox % lines
47 | </pre>
48 | <p>If <a href="../Variables.htm#Index">A_Index</a> is used in <i>Expression</i>, it contains the index of the iteration which has just finished.</p>
49 | 
50 | <h2 id="Related">Related</h2>
51 | <p><a href="Loop.htm">Loop</a>, <a href="While.htm">While-loop</a>, <a href="For.htm">For-loop</a>, <a href="Break.htm">Break</a>, <a href="Continue.htm">Continue</a>, <a href="Block.htm">Blocks</a>, <a href="LoopFile.htm">Files-and-folders loop</a>, <a href="LoopReg.htm">Registry loop</a>, <a href="LoopReadFile.htm">File-reading loop</a>, <a href="LoopParse.htm">Parsing loop</a>, <a href="IfExpression.htm">If (expression)</a></p>
52 | 
53 | </body>
54 | </html>
55 | 


--------------------------------------------------------------------------------
/docs/lib/WinGetActiveStats.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>WinGetActiveStats - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The WinGetActiveStats command combines the features of WinGetActiveTitle and WinGetPos into one command." />
 6 | <meta name="ahk:equiv-v2" content="lib/WinGetPos.htm" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>WinGetActiveStats</h1>
15 | 
16 | <p>Combines the functions of <a href="WinGetActiveTitle.htm">WinGetActiveTitle</a> and <a href="WinGetPos.htm">WinGetPos</a> into one command.</p>
17 | 
18 | <pre class="Syntax"><span class="func">WinGetActiveStats</span>, OutTitle, OutWidth, OutHeight, OutX, OutY</pre>
19 | <h2 id="Parameters">Parameters</h2>
20 | <dl>
21 | 
22 |   <dt>OutTitle</dt>
23 |   <dd><p>The name of the output variable in which to store the title of the active window.</p></dd>
24 | 
25 |   <dt>OutWidth, OutHeight</dt>
26 |   <dd><p>The names of the output variables in which to store the width and height of the active window.</p></dd>
27 | 
28 |   <dt>OutX, OutY</dt>
29 |   <dd><p>The names of the output variables in which to store the X and Y coordinates of the active window's upper left corner.</p></dd>
30 | 
31 | </dl>
32 | 
33 | <h2 id="Remarks">Remarks</h2>
34 | <p>If no matching window is found, the output variables will be made blank.</p>
35 | <p>This command is equivalent to the following sequence:</p>
36 | <pre><a href="WinGetTitle.htm">WinGetTitle</a>, OutTitle, A
37 | <a href="WinGetPos.htm">WinGetPos</a>, OutX, OutY, OutWidth, OutHeight, A</pre>
38 | <p>If the active window is a hidden window and <a href="DetectHiddenWindows.htm">DetectHiddenWindows</a> is off (the default), all commands except <a href="WinShow.htm">WinShow</a> will fail to "see" it. If there is no active window for this reason or any other, this command will set all of its output variables to be blank.</p>
39 | <h2 id="Related">Related</h2>
40 | <p><a href="WinGetPos.htm">WinGetPos</a>, <a href="WinGetActiveTitle.htm">WinGetActiveTitle</a>, <a href="WinGetTitle.htm">WinGetTitle</a>, <a href="WinGetClass.htm">WinGetClass</a>, <a href="WinGetText.htm">WinGetText</a>, <a href="ControlGetText.htm">ControlGetText</a></p>
41 | <h2 id="Examples">Examples</h2>
42 | <div class="ex" id="ExBasic">
43 | <p><a class="ex_number" href="#ExBasic"></a> Retrieves and reports the title, size and position of the active window.</p>
44 | <pre>WinGetActiveStats, Title, Width, Height, X, Y
45 | MsgBox, The active window "%Title%" is %Width% wide`, %Height% tall`, and positioned at %X%`,%Y%.</pre>
46 | </div>
47 | 
48 | </body>
49 | </html>
50 | 


--------------------------------------------------------------------------------
/docs/lib/WinGetActiveTitle.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>WinGetActiveTitle - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The WinGetActiveTitle command retrieves the title of the active window." />
 6 | <meta name="ahk:equiv-v2" content="lib/WinGetTitle.htm" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>WinGetActiveTitle</h1>
15 | 
16 | <p>Retrieves the title of the active window.</p>
17 | 
18 | <pre class="Syntax"><span class="func">WinGetActiveTitle</span>, OutputVar</pre>
19 | <h2 id="Parameters">Parameters</h2>
20 | <dl>
21 | 
22 |   <dt>OutputVar</dt>
23 |   <dd><p>The name of the output variable in which to store the title of the active window.</p></dd>
24 | 
25 | </dl>
26 | 
27 | <h2 id="Remarks">Remarks</h2>
28 | <p>This command is equivalent to: <code><a href="WinGetTitle.htm">WinGetTitle</a>, OutputVar, A</code>.</p>
29 | <h2 id="Related">Related</h2>
30 | <p><a href="WinGetPos.htm">WinGetPos</a>, <a href="WinGetActiveStats.htm">WinGetActiveStats</a>, <a href="WinGetTitle.htm">WinGetTitle</a>, <a href="WinGetClass.htm">WinGetClass</a>, <a href="WinGetText.htm">WinGetText</a>, <a href="ControlGetText.htm">ControlGetText</a></p>
31 | <h2 id="Examples">Examples</h2>
32 | <div class="ex" id="ExBasic">
33 | <p><a class="ex_number" href="#ExBasic"></a> Retrieves and reports the title of the active window.</p>
34 | <pre>WinGetActiveTitle, Title
35 | MsgBox, The active window is "%Title%".</pre>
36 | </div>
37 | 
38 | </body>
39 | </html>
40 | 


--------------------------------------------------------------------------------
/docs/lib/WinGetClass.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>WinGetClass - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The WinGetClass command retrieves the specified window's class name." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>WinGetClass</h1>
14 | 
15 | <p>Retrieves the specified window's class name.</p>
16 | 
17 | <pre class="Syntax"><span class="func">WinGetClass</span>, OutputVar <span class="optional">, WinTitle, WinText, ExcludeTitle, ExcludeText</span></pre>
18 | <h2 id="Parameters">Parameters</h2>
19 | <dl>
20 | 
21 |   <dt>OutputVar</dt>
22 |   <dd><p>The name of the output variable in which to store the retrieved class name.</p></dd>
23 | 
24 |   <dt>WinTitle, WinText, ExcludeTitle, ExcludeText</dt>
25 |   <dd>
26 |     <p>If each of these is blank or omitted, the <a href="../misc/WinTitle.htm#LastFoundWindow">Last Found Window</a> will be used. Otherwise, specify for <em>WinTitle</em> a <a href="../misc/WinTitle.htm">window title or other criteria</a> to identify the target window and/or for <em>WinText</em> a substring from a single text element of the target window (as revealed by the included Window Spy utility).</p>
27 |     <p><em>ExcludeTitle</em> and <em>ExcludeText</em> can be used to exclude one or more windows by their title or text. Their specification is similar to <em>WinTitle</em> and <em>WinText</em>, except that <em>ExcludeTitle</em> does not recognize any criteria other than the window title.</p>
28 |     <p>Window titles and text are case-sensitive. By default, hidden windows are not detected and hidden text elements are detected, unless changed with <a href="DetectHiddenWindows.htm">DetectHiddenWindows</a> and <a href="DetectHiddenText.htm">DetectHiddenText</a>. By default, a window title must start with the specified <em>WinTitle</em> or <em>ExcludeTitle</em> to be a match, unless changed with <a href="SetTitleMatchMode.htm">SetTitleMatchMode</a>.</p>
29 |   </dd>
30 | 
31 | </dl>
32 | 
33 | <h2 id="Remarks">Remarks</h2>
34 | <p>If there is no matching window, <em>OutputVar</em> is made blank.</p>
35 | <p>For a general explanation of window classes and one way to use them, see <a href="../misc/WinTitle.htm#ahk_class">ahk_class</a>.</p>
36 | <p>Only the class name is retrieved (the prefix "ahk_class" is not included in <em>OutputVar</em>).</p>
37 | 
38 | <h2 id="Related">Related</h2>
39 | <p><a href="WinGet.htm">WinGet</a>, <a href="WinGetTitle.htm">WinGetTitle</a></p>
40 | <h2 id="Examples">Examples</h2>
41 | <div class="ex" id="ExBasic">
42 | <p><a class="ex_number" href="#ExBasic"></a> Retrieves and reports the class name of the active window.</p>
43 | <pre>WinGetClass, class, A
44 | MsgBox, The active window's class is "%class%".</pre>
45 | </div>
46 | 
47 | </body>
48 | </html>
49 | 


--------------------------------------------------------------------------------
/docs/lib/WinMinimizeAll.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>WinMinimizeAll / WinMinimizeAllUndo - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The WinMinimizeAll and WinMinimizeAllUndo commands minimize or unminimize all windows." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>WinMinimizeAll / WinMinimizeAllUndo</h1>
14 | 
15 | <p>Minimizes or unminimizes all windows.</p>
16 | 
17 | <pre class="Syntax">
18 | <span class="func">WinMinimizeAll</span>
19 | <span class="func">WinMinimizeAllUndo</span>
20 | </pre>
21 | <p>On most systems, this is equivalent to Explorer's <kbd>Win</kbd>+<kbd>M</kbd> and <kbd>Win</kbd>+<kbd>D</kbd> hotkeys.</p>
22 | <h2 id="Related">Related</h2>
23 | <p><a href="WinMinimize.htm">WinMinimize</a>, <a href="GroupAdd.htm">GroupAdd</a></p>
24 | <h2 id="Examples">Examples</h2>
25 | <div class="ex" id="ExBasic">
26 | <p><a class="ex_number" href="#ExBasic"></a> Minimizes all windows for 1 second and unminimizes them.</p>
27 | <pre>WinMinimizeAll
28 | Sleep, 1000
29 | WinMinimizeAllUndo</pre>
30 | </div>
31 | 
32 | </body>
33 | </html>
34 | 


--------------------------------------------------------------------------------
/docs/lib/WinRestore.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>WinRestore - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The WinRestore command unminimizes or unmaximizes the specified window if it is minimized or maximized." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>WinRestore</h1>
14 | 
15 | <p>Unminimizes or unmaximizes the specified window if it is minimized or maximized.</p>
16 | 
17 | <pre class="Syntax"><span class="func">WinRestore</span> <span class="optional">, WinTitle, WinText, ExcludeTitle, ExcludeText</span></pre>
18 | <h2 id="Parameters">Parameters</h2>
19 | <dl>
20 | 
21 |   <dt>WinTitle, WinText, ExcludeTitle, ExcludeText</dt>
22 |   <dd>
23 |     <p>If each of these is blank or omitted, the <a href="../misc/WinTitle.htm#LastFoundWindow">Last Found Window</a> will be used. Otherwise, specify for <em>WinTitle</em> a <a href="../misc/WinTitle.htm">window title or other criteria</a> to identify the target window and/or for <em>WinText</em> a substring from a single text element of the target window (as revealed by the included Window Spy utility).</p>
24 |     <p><em>ExcludeTitle</em> and <em>ExcludeText</em> can be used to exclude one or more windows by their title or text. Their specification is similar to <em>WinTitle</em> and <em>WinText</em>, except that <em>ExcludeTitle</em> does not recognize any criteria other than the window title.</p>
25 |     <p>Window titles and text are case-sensitive. By default, hidden windows are not detected and hidden text elements are detected, unless changed with <a href="DetectHiddenWindows.htm">DetectHiddenWindows</a> and <a href="DetectHiddenText.htm">DetectHiddenText</a>. By default, a window title must start with the specified <em>WinTitle</em> or <em>ExcludeTitle</em> to be a match, unless changed with <a href="SetTitleMatchMode.htm">SetTitleMatchMode</a>.</p>
26 |   </dd>
27 | 
28 | </dl>
29 | 
30 | <h2 id="Remarks">Remarks</h2>
31 | <p>If a particular type of window does not respond correctly to WinRestore, try using the following instead:</p>
32 | <pre><a href="PostMessage.htm">PostMessage</a>, 0x0112, 0xF120,,, WinTitle, WinText  <em>; 0x0112 = WM_SYSCOMMAND, 0xF120 = SC_RESTORE</em></pre>
33 | <p>This command operates only upon the topmost matching window except when <em>WinTitle</em> is <a href="GroupAdd.htm">ahk_group GroupName</a>, in which case all windows in the group are affected.</p>
34 | 
35 | <h2 id="Related">Related</h2>
36 | <p><a href="WinMinimize.htm">WinMinimize</a>, <a href="WinMaximize.htm">WinMaximize</a></p>
37 | <h2 id="Examples">Examples</h2>
38 | <div class="ex" id="ExBasic">
39 | <p><a class="ex_number" href="#ExBasic"></a> Unminimizes or unmaximizes Notepad if it is minimized or maximized.</p>
40 | <pre>WinRestore, Untitled - Notepad</pre>
41 | </div>
42 | 
43 | </body>
44 | </html>
45 | 


--------------------------------------------------------------------------------
/docs/lib/WinShow.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>WinShow - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The WinShow command unhides the specified window." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>WinShow</h1>
14 | 
15 | <p>Unhides the specified window.</p>
16 | 
17 | <pre class="Syntax"><span class="func">WinShow</span> <span class="optional">, WinTitle, WinText, ExcludeTitle, ExcludeText</span></pre>
18 | <h2 id="Parameters">Parameters</h2>
19 | <dl>
20 | 
21 |   <dt>WinTitle, WinText, ExcludeTitle, ExcludeText</dt>
22 |   <dd>
23 |     <p>If each of these is blank or omitted, the <a href="../misc/WinTitle.htm#LastFoundWindow">Last Found Window</a> will be used. Otherwise, specify for <em>WinTitle</em> a <a href="../misc/WinTitle.htm">window title or other criteria</a> to identify the target window and/or for <em>WinText</em> a substring from a single text element of the target window (as revealed by the included Window Spy utility).</p>
24 |     <p><em>ExcludeTitle</em> and <em>ExcludeText</em> can be used to exclude one or more windows by their title or text. Their specification is similar to <em>WinTitle</em> and <em>WinText</em>, except that <em>ExcludeTitle</em> does not recognize any criteria other than the window title.</p>
25 |     <p>Window titles and text are case-sensitive. By default, hidden text elements are detected unless changed with <a href="DetectHiddenText.htm">DetectHiddenText</a>. By default, a window title must start with the specified <em>WinTitle</em> or <em>ExcludeTitle</em> to be a match, unless changed with <a href="SetTitleMatchMode.htm">SetTitleMatchMode</a>.</p>
26 |   </dd>
27 | 
28 | </dl>
29 | 
30 | <h2 id="Remarks">Remarks</h2>
31 | <p>By default, WinShow is the only command that can always detect hidden windows. Other commands can detect them only if <a href="DetectHiddenWindows.htm">DetectHiddenWindows</a> has been turned on.</p>
32 | <p>This command operates only upon the topmost matching window except when <em>WinTitle</em> is <a href="GroupAdd.htm">ahk_group GroupName</a>, in which case all windows in the group are affected.</p>
33 | <h2 id="Related">Related</h2>
34 | <p><a href="WinHide.htm">WinHide</a>, <a href="SetTitleMatchMode.htm">SetTitleMatchMode</a>, <a href="DetectHiddenWindows.htm">DetectHiddenWindows</a>, <a href="../misc/WinTitle.htm#LastFoundWindow">Last Found Window</a></p>
35 | <h2 id="Examples">Examples</h2>
36 | <div class="ex" id="ExBasic">
37 | <p><a class="ex_number" href="#ExBasic"></a> Opens Notepad, waits until it exists, hides it for a short time and unhides it.</p>
38 | <pre>Run, notepad.exe
39 | WinWait, Untitled - Notepad
40 | Sleep, 500
41 | WinHide <em>; Use the window found by WinWait.</em>
42 | Sleep, 1000
43 | WinShow <em>; Use the window found by WinWait.</em></pre>
44 | </div>
45 | 
46 | </body>
47 | </html>
48 | 


--------------------------------------------------------------------------------
/docs/lib/_AllowSameLineComments.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>#AllowSameLineComments - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The #AllowSameLineComments directive allows a comment to appear on the same line as a command (only for AutoIt v2 scripts)." />
 6 | <meta name="ahk:equiv-v2" content="index.htm" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>#AllowSameLineComments</h1>
15 | 
16 | <p class="warning"><span class="ver">[v1.1.09+]</span>: <strong>This directive was removed.</strong> AutoIt scripts are no longer supported.</p>
17 | 
18 | <p>Only for AutoIt v2 (.aut) scripts: Allows a comment to appear on the same line as a command.</p>
19 | 
20 | <pre class="Syntax"><span class="func">#AllowSameLineComments</span></pre>
21 | <p>Specifying this directive at the <strong>top</strong> of any AutoIt v2 (.aut) script will enable the use of same-line comments, which are normally disabled for compatibility reasons. If not used at the top of the script, same-line comments are not supported above the point where the directive occurs.</p>
22 | <p>Like other directives, #AllowSameLineComments cannot be executed conditionally.</p>
23 | <h2 id="Examples">Examples</h2>
24 | <div class="ex" id="ExBasic">
25 | <p><a class="ex_number" href="#ExBasic"></a> Allows a comment to appear on the same line as a command.</p>
26 | <pre>#AllowSameLineComments
27 | Sleep, 1  <em>; This comment is a same-line comment.</em></pre>
28 | </div>
29 | 
30 | </body>
31 | </html>
32 | 


--------------------------------------------------------------------------------
/docs/lib/_ClipboardTimeout.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>#ClipboardTimeout - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The #ClipboardTimeout directive changes how long the script keeps trying to access the clipboard when the first attempt fails." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>#ClipboardTimeout</h1>
14 | 
15 | <p>Changes how long the script keeps trying to access the clipboard when the first attempt fails.</p>
16 | 
17 | <pre class="Syntax"><span class="func">#ClipboardTimeout</span> Milliseconds</pre>
18 | <h2 id="Parameters">Parameters</h2>
19 | <dl>
20 | 
21 |   <dt>Milliseconds</dt>
22 |   <dd><p>The length of the interval in milliseconds. Specify -1 to have it keep trying indefinitely. Specify 0 to have it try only once.</p></dd>
23 | 
24 | </dl>
25 | <h2 id="Remarks">Remarks</h2>
26 | <p>If this directive is unspecified in the script, it will behave as though set to 1000 (milliseconds).</p>
27 | <p>Some applications keep the clipboard open for long periods of time, perhaps to write or read large amounts of data. In such cases, increasing this setting causes the script to wait longer before giving up and displaying an error message.</p>
28 | <p>This settings applies to all <a href="../misc/Clipboard.htm">clipboard</a> operations, the simplest of which are the following examples: <code>Var := Clipboard</code> and <code>Clipboard := "New Text"</code>.</p>
29 | <p>Whenever the script is waiting for the clipboard to become available, new <a href="../misc/Threads.htm">threads</a> <u>cannot</u> be launched and <a href="SetTimer.htm">timers</a> will not run. However, if the user presses a <a href="../Hotkeys.htm">hotkey</a>, selects a <a href="Menu.htm">custom menu item</a>, or performs a <a href="Gui.htm">GUI action</a> such as pressing a button, that event will be buffered until later; in other words, its subroutine will be performed after the clipboard finally becomes available.</p>
30 | <p>This directive does <u>not</u> cause the reading of clipboard data to be reattempted if the first attempt fails. Prior to <span class="ver">[v1.1.16]</span>, it did cause the script to wait until the timeout expired, but in doing so prevented any further data from being retrieved.</p>
31 | <p>Like other directives, #ClipboardTimeout cannot be executed conditionally.</p>
32 | <h2 id="Related">Related</h2>
33 | <p><a href="../misc/Clipboard.htm">Clipboard</a>, <a href="Thread.htm">Thread</a></p>
34 | <h2 id="Examples">Examples</h2>
35 | <div class="ex" id="ExBasic">
36 | <p><a class="ex_number" href="#ExBasic"></a> Causes the script to wait 2 seconds instead of 1 second before giving up accessing the clipboard and displaying an error message.</p>
37 | <pre>#ClipboardTimeout 2000</pre>
38 | </div>
39 | 
40 | </body>
41 | </html>
42 | 


--------------------------------------------------------------------------------
/docs/lib/_CommentFlag.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>#CommentFlag - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The #CommentFlag directive changes the script's comment symbol from semicolon to some other string." />
 6 | <meta name="ahk:equiv-v2" content="index.htm" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>#CommentFlag</h1>
15 | 
16 | <p>Changes the script's comment symbol from semicolon to some other string.</p>
17 | <p class="warning"><strong>Deprecated:</strong> This directive is not recommended for use in new scripts. Use the default comment flag (semicolon) instead.</p>
18 | 
19 | <pre class="Syntax"><span class="func">#CommentFlag</span> NewString</pre>
20 | <h2 id="Parameters">Parameters</h2>
21 | <dl>
22 | 
23 |   <dt>NewString</dt>
24 |   <dd><p>One or more characters that should be used as the new comment flag. Up to 15 characters may be specified.</p></dd>
25 | 
26 | </dl>
27 | <h2 id="Remarks">Remarks</h2>
28 | <p>If this directive is unspecified in the script, it will behave as though set to semicolon (;).</p>
29 | <p>The comment flag is used to indicate that text that follows it should not be acted upon by the script (comments are not loaded into memory when a script is launched, so they do not affect performance).</p>
30 | <p>A comment flag that appears on the same line as a command is not considered to mark a comment unless it has at least one space or tab to its left. For example:</p>
31 | <pre>MsgBox, Test1 <em>; This is a comment.</em>
32 | MsgBox, Test2; This is not a comment and will be displayed by MsgBox.</pre>
33 | <p>Like other directives, #CommentFlag cannot be executed conditionally.</p>
34 | <h2 id="Related">Related</h2>
35 | <p><a href="_EscapeChar.htm">#EscapeChar</a></p>
36 | <h2 id="Examples">Examples</h2>
37 | <div class="ex" id="ExBasic">
38 | <p><a class="ex_number" href="#ExBasic"></a> Changes to C++ comment style.</p>
39 | <pre>#CommentFlag //</pre>
40 | </div>
41 | 
42 | </body>
43 | </html>
44 | 


--------------------------------------------------------------------------------
/docs/lib/_EscapeChar.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>#EscapeChar - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The #EscapeChar directive changes the script's escape character (e.g. accent vs. backslash). Also includes the explanation of escape sequences." />
 6 | <meta name="ahk:equiv-v2" content="misc/EscapeChar.htm" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>#EscapeChar</h1>
15 | 
16 | <p>Changes the script's escape character (e.g. accent vs. backslash).</p>
17 | <p class="warning"><strong>Deprecated:</strong> This directive is not recommended for use in new scripts. Use the default escape character (accent/backtick) instead.</p>
18 | 
19 | <pre class="Syntax"><span class="func">#EscapeChar</span> NewChar</pre>
20 | <h2 id="Parameters">Parameters</h2>
21 | <dl>
22 | 
23 |   <dt>NewChar</dt>
24 |   <dd><p>Specify a single character.</p></dd>
25 | 
26 | </dl>
27 | <h2 id="Remarks">Remarks</h2>
28 | <p>The escape character is used to indicate that the character immediately following it should be interpreted differently than it normally would.</p>
29 | <p>If this directive is unspecified in the script, it will behave as though set to accent/backtick (`), which is at the upper left corner of most English keyboards. Using this character rather than backslash avoids the need for double backslashes in file paths.</p>
30 | <p>See <a href="../misc/EscapeChar.htm">Escape Sequences</a> for a complete list of sequences and its results (e.g. <code>`n</code> would produce a linefeed character).</p>
31 | <p>Like other directives, #EscapeChar cannot be executed conditionally.</p>
32 | 
33 | <h2 id="Related">Related</h2>
34 | <p>The following rarely used directives also exist; their usage is shown in these examples:</p>
35 | <pre>#DerefChar #  <em id="DerefChar">; Change it from its normal default, which is %.</em>
36 | #Delimiter /  <em id="Delimiter">; Change it from its normal default, which is comma.</em></pre>
37 | <p class="warning"><strong>Deprecated:</strong> These directives are not recommended for use in new scripts. Use the default dereference character (percent) and the default delimiter character (comma) instead.</p>
38 | <h2 id="Examples">Examples</h2>
39 | <div class="ex" id="ExBasic">
40 | <p><a class="ex_number" href="#ExBasic"></a> Changes the default escape character (`) to backslash.</p>
41 | <pre>#EscapeChar \</pre>
42 | </div>
43 | 
44 | </body>
45 | </html>
46 | 


--------------------------------------------------------------------------------
/docs/lib/_HotkeyInterval.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>#HotkeyInterval - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="Along with #MaxHotkeysPerInterval, the #HotkeyInterval directive specifies the rate of hotkey activations beyond which a warning dialog will be displayed." />
 6 | <meta name="ahk:equiv-v2" content="lib/A_MaxHotkeysPerInterval.htm" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>#HotkeyInterval</h1>
15 | 
16 | <p>Along with <a href="_MaxHotkeysPerInterval.htm">#MaxHotkeysPerInterval</a>, specifies the rate of <a href="../Hotkeys.htm">hotkey</a> activations beyond which a warning dialog will be displayed.</p>
17 | 
18 | <pre class="Syntax"><span class="func">#HotkeyInterval</span> Milliseconds</pre>
19 | <h2 id="Parameters">Parameters</h2>
20 | <dl>
21 | 
22 |   <dt>Milliseconds</dt>
23 |   <dd><p>The length of the interval in milliseconds.</p></dd>
24 | 
25 | </dl>
26 | <h2 id="Remarks">Remarks</h2>
27 | <p>If this directive is unspecified in the script, it will behave as though set to 2000 (milliseconds).</p>
28 | <p>For details and remarks, see <a href="_MaxHotkeysPerInterval.htm">#MaxHotkeysPerInterval</a>.</p>
29 | <p>Like other directives, #HotkeyInterval cannot be executed conditionally.</p>
30 | <h2 id="Related">Related</h2>
31 | <p><a href="_MaxHotkeysPerInterval.htm">#MaxHotkeysPerInterval</a></p>
32 | <h2 id="Examples">Examples</h2>
33 | <div class="ex" id="ExBasic">
34 | <p><a class="ex_number" href="#ExBasic"></a> Allows a maximum of 200 hotkeys to be pressed within 2000&nbsp;ms without triggering a warning dialog.</p>
35 | <pre>#HotkeyInterval 2000  <em>; This is the default value (milliseconds).</em>
36 | #MaxHotkeysPerInterval 200</pre>
37 | </div>
38 | 
39 | </body>
40 | </html>
41 | 


--------------------------------------------------------------------------------
/docs/lib/_IfTimeout.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>#IfTimeout - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The #IfTimeout directive sets the maximum time that may be spent evaluating a single #If expression." />
 6 | <meta name="ahk:equiv-v2" content="lib/_HotIfTimeout.htm" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | 
15 | <h1>#IfTimeout <span class="ver">[AHK_L 8+]</span></h1>
16 | 
17 | <p>Sets the maximum time that may be spent evaluating a single <a href="_If.htm">#If</a> expression.</p>
18 | 
19 | <pre class="Syntax"><span class="func">#IfTimeout</span> Timeout</pre>
20 | <h2 id="Parameters">Parameters</h2>
21 | <dl>
22 | 
23 |   <dt>Timeout</dt>
24 |   <dd><p>The timeout value to apply globally, in milliseconds.</p></dd>
25 | 
26 | </dl>
27 | 
28 | <h2 id="Remarks">Remarks</h2>
29 | <p>If this directive is unspecified in the script, it will behave as though set to 1000 (milliseconds).</p>
30 | <p>A timeout is implemented to prevent long-running expressions from stalling keyboard input processing. If the timeout value is exceeded, the expression continues to evaluate, but the keyboard hook continues as if the expression had already returned false.</p>
31 | <p id="LowLevelHooksTimeout">Note that the system implements its own timeout, defined by the DWORD value <em>LowLevelHooksTimeout</em> in the following registry key:</p>
32 | <p><b>HKEY_CURRENT_USER\Control Panel\Desktop</b></p>
33 | <p>If the system timeout value is exceeded, the system may stop calling the script's keyboard hook, thereby preventing hook hotkeys from working until the hook is re-registered or the script is <a href="Reload.htm">reloaded</a>. The hook can <em>usually</em> be re-registered by <a href="Suspend.htm">suspending</a> and un-suspending all hotkeys.</p>
34 | <p>Microsoft's documentation is unclear about the details of this timeout, but research indicates the following for Windows 7 and later: If <em>LowLevelHooksTimeout</em> is not defined, the default timeout is 300&nbsp;ms. The hook may time out up to 10 times, but is silently removed if it times out an 11th time.</p>
35 | <p>If a given hotkey has multiple #If variants, the timeout might be applied to each variant independently, making it more likely that the system timeout will be exceeded. This may be changed in a future update.</p>
36 | <p>Like other directives, #IfTimeout cannot be executed conditionally.</p>
37 | <h2 id="Related">Related</h2>
38 | <p><a href="_If.htm">#If</a></p>
39 | <h2 id="Examples">Examples</h2>
40 | <div class="ex" id="ExBasic">
41 | <p><a class="ex_number" href="#ExBasic"></a> Sets the #If timeout to 10&nbsp;ms instead of 1000&nbsp;ms.</p>
42 | <pre>#IfTimeout 10</pre>
43 | </div>
44 | 
45 | </body>
46 | </html>
47 | 


--------------------------------------------------------------------------------
/docs/lib/_InstallMouseHook.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>#InstallMouseHook - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The #InstallMouseHook directive forces the unconditional installation of the mouse hook." />
 6 | <meta name="ahk:equiv-v2" content="lib/InstallMouseHook.htm" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>#InstallMouseHook</h1>
15 | 
16 | <p>Forces the unconditional installation of the mouse hook.</p>
17 | 
18 | <pre class="Syntax"><span class="func">#InstallMouseHook</span></pre>
19 | <h2 id="Remarks">Remarks</h2>
20 | <p>The mouse hook monitors mouse clicks for the purpose of activating mouse <a href="../Hotkeys.htm">hotkeys</a> and <a href="../Hotstrings.htm#NoMouse">facilitating hotstrings</a>.</p>
21 | <p>AutoHotkey does not install the keyboard and mouse hooks unconditionally because together they consume at least 500 KB of memory (but if the keyboard hook is installed, installing the mouse hook only requires about 50 KB of additional memory; and vice versa). Therefore, the mouse hook is normally installed only when the script contains one or more mouse <a href="../Hotkeys.htm">hotkeys</a>. It is also installed for <a href="../Hotstrings.htm">hotstrings</a>, but that can be disabled via <a href="_Hotstring.htm">#Hotstring NoMouse</a>.</p>
22 | <p>By contrast, the #InstallMouseHook directive will unconditionally install the mouse hook, which might be useful to allow <a href="KeyHistory.htm">KeyHistory</a> to monitor mouse clicks.</p>
23 | <p>You can determine whether a script is using the hook via the <a href="KeyHistory.htm">KeyHistory</a> command or menu item. You can determine which hotkeys are using the hook via the <a href="ListHotkeys.htm">ListHotkeys</a> command or menu item.</p>
24 | <p>This directive also makes a script <a href="_Persistent.htm">persistent</a>, meaning that <a href="ExitApp.htm">ExitApp</a> rather than <a href="Exit.htm">Exit</a> should be used to terminate it.</p>
25 | <p>Like other directives, #InstallMouseHook cannot be executed conditionally.</p>
26 | <h2 id="Related">Related</h2>
27 | <p><a href="_InstallKeybdHook.htm">#InstallKeybdHook</a>, <a href="_UseHook.htm">#UseHook</a>, <a href="Hotkey.htm">Hotkey</a>, <a href="_Persistent.htm">#Persistent</a>, <a href="KeyHistory.htm">KeyHistory</a>, <a href="GetKeyState.htm">GetKeyState</a>, <a href="KeyWait.htm">KeyWait</a></p>
28 | <h2 id="Examples">Examples</h2>
29 | <div class="ex" id="ExBasic">
30 | <p><a class="ex_number" href="#ExBasic"></a> Installs the mouse hook unconditionally.</p>
31 | <pre>#InstallMouseHook</pre>
32 | </div>
33 | 
34 | </body>
35 | </html>
36 | 


--------------------------------------------------------------------------------
/docs/lib/_KeyHistory.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>#KeyHistory - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The #KeyHistory directive sets the maximum number of keyboard and mouse events displayed by the KeyHistory window." />
 6 | <meta name="ahk:equiv-v2" content="lib/KeyHistory.htm" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>#KeyHistory</h1>
15 | 
16 | <p>Sets the maximum number of keyboard and mouse events displayed by the <a href="KeyHistory.htm">KeyHistory</a> window. You can set it to 0 to disable key history.</p>
17 | 
18 | <pre class="Syntax"><span class="func">#KeyHistory</span> MaxEvents</pre>
19 | <h2 id="Parameters">Parameters</h2>
20 | <dl>
21 | 
22 |   <dt>MaxEvents</dt>
23 |   <dd><p>The maximum number of keyboard and mouse events displayed by the <a href="KeyHistory.htm">KeyHistory</a> window (limit 500). Specify 0 to disable key history entirely.</p></dd>
24 | 
25 | </dl>
26 | <h2 id="Remarks">Remarks</h2>
27 | <p>If this directive is unspecified in the script, it will behave as though set to 40.</p>
28 | <p>Because this setting is put into effect before the script begins running, it is only necessary to specify it once (anywhere in the script).</p>
29 | <p>Because each keystroke or mouse click consists of a down-event and an up-event, <a href="KeyHistory.htm">KeyHistory</a> displays only half as many "complete events" as specified here. For example, if the script contains <code>#KeyHistory 50</code>, up to 25 keystrokes and mouse clicks will be displayed.</p>
30 | <p>Like other directives, #KeyHistory cannot be executed conditionally.</p>
31 | <h2 id="Related">Related</h2>
32 | <p><a href="KeyHistory.htm">KeyHistory</a>, <a href="_NoTrayIcon.htm">#NoTrayIcon</a></p>
33 | <h2 id="Examples">Examples</h2>
34 | <div class="ex" id="ExBasic">
35 | <p><a class="ex_number" href="#ExBasic"></a> Causes <a href="KeyHistory.htm">KeyHistory</a> to display the last 100 instead 40 keyboard and mouse events.</p>
36 | <pre>#KeyHistory 100</pre>
37 | </div>
38 | 
39 | <div class="ex" id="ExDisable">
40 | <p><a class="ex_number" href="#ExDisable"></a> Disables key history entirely.</p>
41 | <pre>#KeyHistory 0</pre>
42 | </div>
43 | 
44 | </body>
45 | </html>
46 | 


--------------------------------------------------------------------------------
/docs/lib/_MaxHotkeysPerInterval.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>#MaxHotkeysPerInterval - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="Along with #HotkeyInterval, the #MaxHotkeysPerInterval directive specifies the rate of hotkey activations beyond which a warning dialog will be displayed." />
 6 | <meta name="ahk:equiv-v2" content="lib/A_MaxHotkeysPerInterval.htm" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>#MaxHotkeysPerInterval</h1>
15 | 
16 | <p>Along with <a href="_HotkeyInterval.htm">#HotkeyInterval</a>, specifies the rate of <a href="../Hotkeys.htm">hotkey</a> activations beyond which a warning dialog will be displayed.</p>
17 | 
18 | <pre class="Syntax"><span class="func">#MaxHotkeysPerInterval</span> Value</pre>
19 | <h2 id="Parameters">Parameters</h2>
20 | <dl>
21 | 
22 |   <dt>Value</dt>
23 |   <dd><p>The maximum number of hotkeys that can be pressed in the interval specified by <a href="_HotkeyInterval.htm">#HotkeyInterval</a> without triggering a warning dialog.</p></dd>
24 | 
25 | </dl>
26 | <h2 id="Remarks">Remarks</h2>
27 | <p>If this directive is unspecified in the script, it will behave as though set to 70.</p>
28 | <p>Care should be taken not to make the above too lenient because if you ever inadvertently introduce an infinite loop of keystrokes (via a <a href="Send.htm">Send</a> command that accidentally triggers other hotkeys), your computer could become unresponsive due to the rapid flood of keyboard events.</p>
29 | <p>As an oversimplified example, the hotkey <code>^c::Send ^c</code> would produce an infinite loop of keystrokes. To avoid this, add the <a href="../Hotkeys.htm#prefixdollar">$ prefix</a> to the hotkey definition (e.g. <code>$^c::</code>) so that the hotkey cannot be triggered by the Send command.</p>
30 | <p>Like other directives, #MaxHotkeysPerInterval cannot be executed conditionally.</p>
31 | <h2 id="Related">Related</h2>
32 | <p><a href="_HotkeyInterval.htm">#HotkeyInterval</a></p>
33 | <h2 id="Examples">Examples</h2>
34 | <div class="ex" id="ExBasic">
35 | <p><a class="ex_number" href="#ExBasic"></a> Allows to press a maximum of 200 instead of 70 hotkeys per interval.</p>
36 | <pre>#MaxHotkeysPerInterval 200</pre>
37 | </div>
38 | 
39 | </body>
40 | </html>
41 | 


--------------------------------------------------------------------------------
/docs/lib/_MaxMem.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>#MaxMem - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The #MaxMem directive sets the maximum capacity of each variable to the specified number of megabytes." />
 6 | <meta name="ahk:equiv-v2" content="v2-changes.htm#MaxMem" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>#MaxMem</h1>
15 | 
16 | <p>Sets the maximum capacity of each <a href="../Variables.htm">variable</a> to the specified number of megabytes.</p>
17 | 
18 | <pre class="Syntax"><span class="func">#MaxMem</span> Megabytes</pre>
19 | <h2 id="Parameters">Parameters</h2>
20 | <dl>
21 | 
22 |   <dt>Megabytes</dt>
23 |   <dd><p>The number of megabytes to allow for each <a href="../Variables.htm">variable</a>. A value larger than 4095 is considered to be 4095. A value less than 1 is considered to be 1.</p></dd>
24 | 
25 | </dl>
26 | <h2 id="Remarks">Remarks</h2>
27 | <p>If this directive is unspecified in the script, it will behave as though set to 64.</p>
28 | <p>The purpose of limiting each variable's capacity is to prevent a buggy script from consuming all available system memory. Raising or lowering the limit does not affect the performance of a script, nor does it change how much memory the script actually uses (except in the case of <a href="WinGetText.htm">WinGetText</a> and <a href="ControlGetText.htm">ControlGetText</a>, which will be capable of retrieving more text if #MaxMem is increased).</p>
29 | <p>This setting is global, meaning that it needs to be specified only once (anywhere in the script) to affect the behavior of the entire script.</p>
30 | <p>This setting restricts only the automatic expansion that a variable does on its own. It does not affect <a href="VarSetCapacity.htm">VarSetCapacity()</a>.</p>
31 | <p>Like other directives, #MaxMem cannot be executed conditionally.</p>
32 | <h2 id="Related">Related</h2>
33 | <p><a href="VarSetCapacity.htm">VarSetCapacity()</a>, <a href="../Variables.htm">Variables</a>, <a href="Sort.htm">Sort</a>, <a href="WinGetText.htm">WinGetText</a>, <a href="ControlGetText.htm">ControlGetText</a>, <a href="_MaxThreads.htm">#MaxThreads</a></p>
34 | <h2 id="Examples">Examples</h2>
35 | <div class="ex" id="ExBasic">
36 | <p><a class="ex_number" href="#ExBasic"></a> Allows 256 MB instead of 64 MB per variable.</p>
37 | <pre>#MaxMem 256</pre>
38 | </div>
39 | 
40 | <div class="ex" id="ExMaxedMem">
41 | <p><a class="ex_number" href="#ExMaxedMem"></a> Allows the maximum amount of MB per variable.</p>
42 | <pre>#MaxMem 4095</pre>
43 | </div>
44 | 
45 | </body>
46 | </html>
47 | 


--------------------------------------------------------------------------------
/docs/lib/_NoEnv.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>#NoEnv - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The #NoEnv directive avoids checking empty variables to see if they are environment variables (recommended for all new scripts)." />
 6 | <meta name="ahk:equiv-v2" content="v2-changes.htm#NoEnv" />
 7 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 8 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | <body>
13 | 
14 | <h1>#NoEnv <span class="ver">[v1.0.43.08+]</span></h1>
15 | 
16 | <p>Avoids checking empty variables to see if they are <a href="../Concepts.htm#environment-variables">environment variables</a> (recommended for all new scripts).</p>
17 | <pre class="Syntax"><span class="func">#NoEnv</span></pre>
18 | <p>Specifying this directive anywhere in a script prevents empty variables from being looked up as potential environment variables. For example:</p>
19 | <pre>#NoEnv
20 | MsgBox %WinDir%</pre>
21 | <p>The above would <u>not</u> retrieve the "WinDir" environment variable (though that could be solved by doing <code>WinDir := A_WinDir</code> near the top of the script).</p>
22 | <p>Specifying this directive is recommended for all new scripts because:</p>
23 | <ol>
24 |   <li>It significantly improves performance whenever empty variables are used in an expression or command. It also improves the performance of the <a href="DllCall.htm">DllCall</a> function when unquoted parameter types are used (e.g. <code>int</code> vs. <code>"int"</code>).</li>
25 |   <li>It prevents script bugs caused by environment variables whose names unexpectedly match variables used by the script.</li>
26 |   <li><a href="https://www.autohotkey.com/v2/">AutoHotkey v2</a> will make this behavior the default.</li>
27 | </ol>
28 | <p>To help ease the transition to #NoEnv, the built-in variables <a href="../Variables.htm#ComSpec">ComSpec</a> and <a href="../Variables.htm#ProgramFiles">ProgramFiles</a> have been added. They contain the same strings as the corresponding environment variables.</p>
29 | <p>When #NoEnv is in effect, the script should use <a href="EnvGet.htm">EnvGet</a> to retrieve environment variables, or use built-in variables like <a href="../Variables.htm#WinDir">A_WinDir</a>.</p>
30 | <p>Like other directives, #NoEnv cannot be executed conditionally.</p>
31 | <h2 id="Related">Related</h2>
32 | <p><a href="EnvGet.htm">EnvGet</a>, <a href="../Variables.htm#ComSpec">ComSpec</a>, <a href="../Variables.htm#ProgramFiles">ProgramFiles</a>, <a href="../Variables.htm#WinDir">A_WinDir</a></p>
33 | 
34 | </body>
35 | </html>
36 | 


--------------------------------------------------------------------------------
/docs/lib/_NoTrayIcon.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>#NoTrayIcon - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The #NoTrayIcon directive disables the showing of a tray icon." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>#NoTrayIcon</h1>
14 | 
15 | <p>Disables the showing of a <a href="../Program.htm#tray-icon">tray icon</a>.</p>
16 | 
17 | <pre class="Syntax"><span class="func">#NoTrayIcon</span></pre>
18 | <p>Specifying this anywhere in a script will prevent the showing of a tray icon for that script when it is launched (even if the script is compiled into an EXE).</p>
19 | <p>If you use this for a script that has hotkeys, you might want to bind a hotkey to the <a href="ExitApp.htm">ExitApp</a> command. Otherwise, there will be no easy way to exit the program (without restarting the computer or killing the process). For example: <code>#x::ExitApp</code>.</p>
20 | <p>The tray icon can be made to disappear or reappear at any time during the execution of the script by using the command <code><a href="Menu.htm">Menu</a>, Tray, Icon</code> or <code><a href="Menu.htm">Menu</a>, Tray, NoIcon</code>. The only drawback of using <code><a href="Menu.htm">Menu</a>, Tray, NoIcon</code> at the very top of the script is that the tray icon might be briefly visible when the script is first launched. To avoid that, use #NoTrayIcon instead.</p>
21 | <p>The built-in variable <strong>A_IconHidden</strong> contains 1 if the tray icon is currently hidden or 0 otherwise.</p>
22 | <p>Like other directives, #NoTrayIcon cannot be executed conditionally.</p>
23 | <h2 id="Related">Related</h2>
24 | <p><a href="../Program.htm#tray-icon">Tray Icon</a>, <a href="Menu.htm">Menu</a>, <a href="ExitApp.htm">ExitApp</a></p>
25 | <h2 id="Examples">Examples</h2>
26 | <div class="ex" id="ExBasic">
27 | <p><a class="ex_number" href="#ExBasic"></a> Causes the script to launch without a tray icon.</p>
28 | <pre>#NoTrayIcon</pre>
29 | </div>
30 | 
31 | </body>
32 | </html>
33 | 


--------------------------------------------------------------------------------
/docs/lib/_WinActivateForce.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>#WinActivateForce - Syntax &amp; Usage | AutoHotkey v1</title>
 5 | <meta name="description" content="The #WinActivateForce directive skips the gentle method of activating a window and goes straight to the forceful method." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | 
13 | <h1>#WinActivateForce</h1>
14 | 
15 | <p>Skips the gentle method of activating a window and goes straight to the forceful method.</p>
16 | 
17 | <pre class="Syntax"><span class="func">#WinActivateForce</span></pre>
18 | <p>Specifying this anywhere in a script will cause commands that activate a window -- such as <a href="WinActivate.htm">WinActivate</a>, <a href="WinActivateBottom.htm">WinActivateBottom</a>, and <a href="GroupActivate.htm">GroupActivate</a> -- to skip the "gentle" method of activating a window and go straight to the more forceful methods.</p>
19 | <p>Although this directive will usually not change how quickly or  reliably a window is activated, it might prevent task bar buttons from flashing when different windows are activated quickly one after the other.</p>
20 | 
21 | <h2 id="Remarks">Remarks</h2>
22 | <p>Like other directives, #WinActivateForce cannot be executed conditionally.</p>
23 | 
24 | <h2 id="Related">Related</h2>
25 | <p><a href="WinActivate.htm">WinActivate</a>, <a href="WinActivateBottom.htm">WinActivateBottom</a>, <a href="GroupActivate.htm">GroupActivate</a></p>
26 | <h2 id="Examples">Examples</h2>
27 | <div class="ex" id="ExBasic">
28 | <p><a class="ex_number" href="#ExBasic"></a> Enables the forceful method of activating a window.</p>
29 | <pre>#WinActivateForce</pre>
30 | </div>
31 | 
32 | </body>
33 | </html>
34 | 


--------------------------------------------------------------------------------
/docs/misc/Macros.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>Creating a Keyboard Macro or Mouse Macro | AutoHotkey v1</title>
 5 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 6 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 7 | <meta name="description" content="Record and play back a keyboard macro or mouse macro with this free macro program. Each macro may optionally be assigned to a hotkey.">
 8 | <meta name="keywords" content="macro,macros,keyboard macro,mouse macro">
 9 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
10 | <script src="../static/content.js" type="text/javascript"></script>
11 | </head>
12 | 
13 | <body>
14 | <h1>Creating a Keyboard Macro or Mouse Macro</h1>
15 | 
16 | <p>A macro is a series of scripted actions that is "played" upon demand. The most common activity of a macro is to send <a href="../lib/Send.htm">simulated keystrokes</a> and <a href="../lib/Click.htm">mouse clicks</a> to one or more windows. Such windows respond to each keystroke and mouse click as though you had performed it manually, which allows repetitive tasks to be automated with high speed and reliability.</p>
17 | <p>One of the most convenient ways to play back a macro is to assign it to a <a href="../Hotkeys.htm">hotkey</a> or <a href="../Hotstrings.htm">hotstring</a>.  For example, the following hotkey would create an empty e-mail message and prepare it for a certain type recipient, allowing you to personalize it prior to sending:</p>
18 | <pre>^!s::  <em>; Control+Alt+S hotkey.</em>
19 | if not WinExist("Inbox - Microsoft Outlook")
20 |     return  <em>; Outlook isn't open to the right section, so do nothing.</em>
21 | WinActivate  <em>; Activate the window found by the above command.</em>
22 | Send ^n  <em>; Create new/blank e-mail via Control+N.</em>
23 | WinWaitActive Untitled Message
24 | Send {Tab 2}Product Recall for ACME Rocket Skates  <em>; Set the subject line.</em>
25 | Send {Tab}Dear Sir or Madam,{Enter 2}We have recently discovered a minor defect ...  <em>; etc.</em>
26 | return  <em>; This line serves to finish the hotkey.</em></pre>
27 | <p>Hotkey macros like the above are especially useful for tasks you perform several times per day. By contrast, macros used less often can each be kept in a separate script accessible by means of a shortcut in the Start Menu or on the desktop.</p>
28 | <p>To start creating your own macros and hotkeys right away, please read the <a href="../Tutorial.htm">Quick-start Tutorial</a>.</p>
29 | </body>
30 | </html>
31 | 


--------------------------------------------------------------------------------
/docs/misc/Override.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>Overriding or Disabling External Hotkeys | AutoHotkey v1</title>
 5 | <meta name="description" content="Learn how to override or disable hotkeys owned by Windows or another application." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | 
12 | <body>
13 | <h1>Overriding or Disabling External Hotkeys</h1>
14 | 
15 | <p>You can disable all built-in Windows hotkeys except <kbd>Win</kbd>+<kbd>L</kbd> and <kbd>Win</kbd>+<kbd>U</kbd> by making the following change to the registry (this should work on all OSes but a reboot is probably required):</p>
16 | <pre class="no-highlight">HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
17 | NoWinKeys REG_DWORD 0x00000001 (1)</pre>
18 | <p>But read on if you want to do more than just disable them all.</p>
19 | <p>Hotkeys owned by another application can be overridden or disabled simply by assigning them to an action in the script. The most common use for this feature is to change the hotkeys that are built into Windows itself. For example, if you wish <kbd>Win</kbd>+<kbd>E</kbd> (the shortcut key that launches Windows Explorer) to perform some other action, use this:</p>
20 | <pre>#e::
21 | MsgBox This hotkey is now owned by the script.
22 | return</pre>
23 | <p>In the next example, the <kbd>Win</kbd>+<kbd>R</kbd> hotkey, which is used to open the RUN window, is completely disabled:</p>
24 | <pre>#r::return</pre>
25 | <p>Similarly, to disable both <kbd>Win</kbd>, use this:</p>
26 | <pre>LWin::return
27 | RWin::return</pre>
28 | <p>To disable or change an application's non-global hotkey (that is, a shortcut key that only works when that application is the active window), consider the following example which disables <kbd>Ctrl</kbd>+<kbd>P</kbd> (Print) only for Notepad, leaving the key in effect for all other types of windows:</p>
29 | <pre>$^p::
30 | if WinActive("ahk_class Notepad")
31 |     return  <em>; i.e. do nothing, which causes Ctrl+P to do nothing in Notepad.</em>
32 | Send ^p
33 | return</pre>
34 | <p>In the above example, the $ prefix is needed so that the hotkey can "send itself" without activating itself (which would otherwise trigger a warning dialog about an infinite loop). See also: <a href="../Hotkeys.htm#Context">Context-sensitive Hotkeys</a>.</p>
35 | <p>You can try out any of the above examples by copying them into a new text file such as "Override.ahk", then launching the file. Alternatively, if your browser supports it, you can download any of them as a script file by clicking the <span style="font-family: icons;">↓</span> button which appears in the top-right of the code block when you hover your mouse over it.</p>
36 | </body>
37 | </html>
38 | 


--------------------------------------------------------------------------------
/docs/misc/Winamp.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <title>Automating Winamp | AutoHotkey v1</title>
 5 | <meta name="description" content="Learn how to control Winamp via hotkey even when it is minimized or inactive." />
 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8 | <link href="../static/theme.css" rel="stylesheet" type="text/css" />
 9 | <script src="../static/content.js" type="text/javascript"></script>
10 | </head>
11 | 
12 | <body>
13 | <h1>Automating Winamp</h1>
14 | 
15 | <p>This page demonstrates how to control Winamp via hotkey even when it is minimized or inactive. This information has been tested with Winamp 2.78c but should work for other major releases as well. Please post changes and improvements in the forum.</p>
16 | <p>This example makes the <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>P</kbd> hotkey equivalent to pressing Winamp's pause/unpause button:</p>
17 | <pre>^!p::
18 | if not WinExist("ahk_class Winamp v1.x")
19 |     return
20 | <em>; Otherwise, the above has set the "last found" window for use below.</em>
21 | <a href="../lib/ControlSend.htm">ControlSend</a>, ahk_parent, c  <em>; Pause/Unpause</em>
22 | return</pre>
23 | <p>Here are some of the keyboard shortcuts available in Winamp 2.x (may work in other versions too). The above example can be revised to use any of these keys:</p>
24 | <table class="info" style="width:50%">
25 |   <tr>
26 |     <th style="width:29%">Key to send</th>
27 |     <th>Effect</th>
28 |   </tr>
29 |   <tr>
30 |     <td><code>c</code></td>
31 |     <td>Pause/UnPause</td>
32 |   </tr>
33 |   <tr>
34 |     <td><code>x</code></td>
35 |     <td>Play/Restart/UnPause</td>
36 |   </tr>
37 |   <tr>
38 |     <td><code>v</code></td>
39 |     <td>Stop</td>
40 |   </tr>
41 |   <tr>
42 |     <td><code>+v</code></td>
43 |     <td>Stop with Fadeout</td>
44 |   </tr>
45 |   <tr>
46 |     <td><code>^v</code></td>
47 |     <td>Stop after the current track</td>
48 |   </tr>
49 |   <tr>
50 |     <td><code>b</code></td>
51 |     <td>Next Track</td>
52 |   </tr>
53 |   <tr>
54 |     <td><code>z</code></td>
55 |     <td>Previous Track</td>
56 |   </tr>
57 |   <tr>
58 |     <td><code>{left}</code></td>
59 |     <td>Rewind 5 seconds</td>
60 |   </tr>
61 |   <tr>
62 |     <td><code>{right}</code></td>
63 |     <td>Fast-forward 5 seconds</td>
64 |   </tr>
65 |   <tr>
66 |     <td><code>{up}</code></td>
67 |     <td>Turn Volume Up</td>
68 |   </tr>
69 |   <tr>
70 |     <td><code>{down}</code></td>
71 |     <td>Turn Volume Down</td>
72 |   </tr>
73 | </table>
74 | <p>The following example asks Winamp which track number is currently active:</p>
75 | <pre>
76 | <a href="../lib/PostMessage.htm">SendMessage</a>, 0x0400, 0, 120,, ahk_class Winamp v1.x
77 | if (ErrorLevel != "FAIL")
78 | {
79 |     ErrorLevel += 1  <em>; Winamp's count starts at 0, so adjust by 1.</em>
80 |     MsgBox, Track #%ErrorLevel% is active or playing.
81 | }</pre>
82 | </body>
83 | </html>
84 | 


--------------------------------------------------------------------------------
/docs/misc/remove-userchoice.reg:
--------------------------------------------------------------------------------
1 | Windows Registry Editor Version 5.00
2 | 
3 | [-HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ahk\UserChoice]
4 | 


--------------------------------------------------------------------------------
/docs/scripts/ContextSensitiveHelp.ahk:
--------------------------------------------------------------------------------
 1 | ; Context Sensitive Help in Any Editor -- by Rajat
 2 | ; https://www.autohotkey.com
 3 | ; This script makes Ctrl+2 (or another hotkey of your choice) show the help file
 4 | ; page for the selected AutoHotkey command or keyword. If nothing is selected,
 5 | ; the command name will be extracted from the beginning of the current line.
 6 | 
 7 | ; The hotkey below uses the clipboard to provide compatibility with the maximum
 8 | ; number of editors (since ControlGet doesn't work with most advanced editors).
 9 | ; It restores the original clipboard contents afterward, but as plain text,
10 | ; which seems better than nothing.
11 | 
12 | $^2::
13 | ; The following values are in effect only for the duration of this hotkey thread.
14 | ; Therefore, there is no need to change them back to their original values
15 | ; because that is done automatically when the thread ends:
16 | SetWinDelay 10
17 | SetKeyDelay 0
18 | AutoTrim, On
19 | 
20 | if A_OSType = WIN32_WINDOWS  ; Windows 9x
21 | 	Sleep, 500  ; Give time for the user to release the key.
22 | 
23 | C_ClipboardPrev = %clipboard%
24 | clipboard =
25 | ; Use the highlighted word if there is one (since sometimes the user might
26 | ; intentionally highlight something that isn't a command):
27 | Send, ^c
28 | ClipWait, 0.1
29 | if ErrorLevel <> 0
30 | {
31 | 	; Get the entire line because editors treat cursor navigation keys differently:
32 | 	Send, {home}+{end}^c
33 | 	ClipWait, 0.2
34 | 	if ErrorLevel <> 0  ; Rare, so no error is reported.
35 | 	{
36 | 		clipboard = %C_ClipboardPrev%
37 | 		return
38 | 	}
39 | }
40 | C_Cmd = %clipboard%  ; This will trim leading and trailing tabs & spaces.
41 | clipboard = %C_ClipboardPrev%  ; Restore the original clipboard for the user.
42 | Loop, parse, C_Cmd, %A_Space%`,  ; The first space or comma is the end of the command.
43 | {
44 | 	C_Cmd = %A_LoopField%
45 | 	break ; i.e. we only need one interation.
46 | }
47 | IfWinNotExist, AutoHotkey Help
48 | {
49 | 	; Determine AutoHotkey's location:
50 | 	RegRead, ahk_dir, HKEY_LOCAL_MACHINE, SOFTWARE\AutoHotkey, InstallDir
51 | 	if ErrorLevel  ; Not found, so look for it in some other common locations.
52 | 	{
53 | 		if A_AhkPath
54 | 			SplitPath, A_AhkPath,, ahk_dir
55 | 		else IfExist ..\..\AutoHotkey.chm
56 | 			ahk_dir = ..\..
57 | 		else IfExist %A_ProgramFiles%\AutoHotkey\AutoHotkey.chm
58 | 			ahk_dir = %A_ProgramFiles%\AutoHotkey
59 | 		else
60 | 		{
61 | 			MsgBox Could not find the AutoHotkey folder.
62 | 			return
63 | 		}
64 | 	}
65 | 	Run %ahk_dir%\AutoHotkey.chm
66 | 	WinWait AutoHotkey Help
67 | }
68 | ; The above has set the "last found" window which we use below:
69 | WinActivate
70 | WinWaitActive
71 | StringReplace, C_Cmd, C_Cmd, #, {#}
72 | Send, !n{home}+{end}%C_Cmd%{enter}
73 | return
74 | 


--------------------------------------------------------------------------------
/docs/scripts/ContextSensitiveHelp.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | 
 4 | <head>
 5 |   <meta http-equiv="refresh" content="0; url=index.htm#ContextSensitiveHelp">
 6 |   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 |   <link rel="canonical" href="index.htm#ContextSensitiveHelp">
 8 |   <title>Redirection</title>
 9 | </head>
10 | 
11 | <body>
12 |   <p>Redirecting to <a href="index.htm#ContextSensitiveHelp">Context Sensitive Help in Any Editor</a>.</p>
13 | </body>
14 | 
15 | </html>
16 | 


--------------------------------------------------------------------------------
/docs/scripts/EasyWindowDrag.ahk:
--------------------------------------------------------------------------------
 1 | ; Easy Window Dragging (requires XP/2k/NT)
 2 | ; https://www.autohotkey.com
 3 | ; Normally, a window can only be dragged by clicking on its title bar.
 4 | ; This script extends that so that any point inside a window can be dragged.
 5 | ; To activate this mode, hold down CapsLock or the middle mouse button while
 6 | ; clicking, then drag the window to a new position.
 7 | 
 8 | ; Note: You can optionally release CapsLock or the middle mouse button after
 9 | ; pressing down the mouse button rather than holding it down the whole time.
10 | ; This script requires v1.0.25+.
11 | 
12 | ~MButton & LButton::
13 | CapsLock & LButton::
14 | CoordMode, Mouse  ; Switch to screen/absolute coordinates.
15 | MouseGetPos, EWD_MouseStartX, EWD_MouseStartY, EWD_MouseWin
16 | WinGetPos, EWD_OriginalPosX, EWD_OriginalPosY,,, ahk_id %EWD_MouseWin%
17 | WinGet, EWD_WinState, MinMax, ahk_id %EWD_MouseWin% 
18 | if EWD_WinState = 0  ; Only if the window isn't maximized 
19 | 	SetTimer, EWD_WatchMouse, 10 ; Track the mouse as the user drags it.
20 | return
21 | 
22 | EWD_WatchMouse:
23 | GetKeyState, EWD_LButtonState, LButton, P
24 | if EWD_LButtonState = U  ; Button has been released, so drag is complete.
25 | {
26 | 	SetTimer, EWD_WatchMouse, Off
27 | 	return
28 | }
29 | GetKeyState, EWD_EscapeState, Escape, P
30 | if EWD_EscapeState = D  ; Escape has been pressed, so drag is cancelled.
31 | {
32 | 	SetTimer, EWD_WatchMouse, Off
33 | 	WinMove, ahk_id %EWD_MouseWin%,, %EWD_OriginalPosX%, %EWD_OriginalPosY%
34 | 	return
35 | }
36 | ; Otherwise, reposition the window to match the change in mouse coordinates
37 | ; caused by the user having dragged the mouse:
38 | CoordMode, Mouse
39 | MouseGetPos, EWD_MouseX, EWD_MouseY
40 | WinGetPos, EWD_WinX, EWD_WinY,,, ahk_id %EWD_MouseWin%
41 | SetWinDelay, -1   ; Makes the below move faster/smoother.
42 | WinMove, ahk_id %EWD_MouseWin%,, EWD_WinX + EWD_MouseX - EWD_MouseStartX, EWD_WinY + EWD_MouseY - EWD_MouseStartY
43 | EWD_MouseStartX := EWD_MouseX  ; Update for the next timer-call to this subroutine.
44 | EWD_MouseStartY := EWD_MouseY
45 | return
46 | 


--------------------------------------------------------------------------------
/docs/scripts/EasyWindowDrag.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | 
 4 | <head>
 5 |   <meta http-equiv="refresh" content="0; url=index.htm#EasyWindowDrag">
 6 |   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 |   <link rel="canonical" href="index.htm#EasyWindowDrag">
 8 |   <title>Redirection</title>
 9 | </head>
10 | 
11 | <body>
12 |   <p>Redirecting to <a href="index.htm#EasyWindowDrag">Easy Window Dragging</a>.</p>
13 | </body>
14 | 
15 | </html>
16 | 


--------------------------------------------------------------------------------
/docs/scripts/EasyWindowDrag_(KDE).htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | 
 4 | <head>
 5 |   <meta http-equiv="refresh" content="0; url=index.htm#EasyWindowDrag_(KDE)">
 6 |   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 |   <link rel="canonical" href="index.htm#EasyWindowDrag_(KDE)">
 8 |   <title>Redirection</title>
 9 | </head>
10 | 
11 | <body>
12 |   <p>Redirecting to <a href="index.htm#EasyWindowDrag_(KDE)">Easy Window Dragging (KDE style)</a>.</p>
13 | </body>
14 | 
15 | </html>
16 | 


--------------------------------------------------------------------------------
/docs/scripts/FavoriteFolders.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | 
 4 | <head>
 5 |   <meta http-equiv="refresh" content="0; url=index.htm#FavoriteFolders">
 6 |   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 |   <link rel="canonical" href="index.htm#FavoriteFolders">
 8 |   <title>Redirection</title>
 9 | </head>
10 | 
11 | <body>
12 |   <p>Redirecting to <a href="index.htm#FavoriteFolders">Easy Access to Favorite Folders</a>.</p>
13 | </body>
14 | 
15 | </html>
16 | 


--------------------------------------------------------------------------------
/docs/scripts/IntelliSense.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | 
 4 | <head>
 5 |   <meta http-equiv="refresh" content="0; url=index.htm#IntelliSense">
 6 |   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 |   <link rel="canonical" href="index.htm#IntelliSense">
 8 |   <title>Redirection</title>
 9 | </head>
10 | 
11 | <body>
12 |   <p>Redirecting to <a href="index.htm#IntelliSense">IntelliSense</a>.</p>
13 | </body>
14 | 
15 | </html>
16 | 


--------------------------------------------------------------------------------
/docs/scripts/JoystickMouse.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | 
 4 | <head>
 5 |   <meta http-equiv="refresh" content="0; url=index.htm#JoystickMouse">
 6 |   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 |   <link rel="canonical" href="index.htm#JoystickMouse">
 8 |   <title>Redirection</title>
 9 | </head>
10 | 
11 | <body>
12 |   <p>Redirecting to <a href="index.htm#JoystickMouse">Using a Joystick as a Mouse</a>.</p>
13 | </body>
14 | 
15 | </html>
16 | 


--------------------------------------------------------------------------------
/docs/scripts/JoystickTest.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | 
 4 | <head>
 5 |   <meta http-equiv="refresh" content="0; url=index.htm#JoystickTest">
 6 |   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 |   <link rel="canonical" href="index.htm#JoystickTest">
 8 |   <title>Redirection</title>
 9 | </head>
10 | 
11 | <body>
12 |   <p>Redirecting to <a href="index.htm#JoystickTest">Joystick Test Script</a>.</p>
13 | </body>
14 | 
15 | </html>
16 | 


--------------------------------------------------------------------------------
/docs/scripts/KeyboardOnScreen.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | 
 4 | <head>
 5 |   <meta http-equiv="refresh" content="0; url=index.htm#KeyboardOnScreen">
 6 |   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 |   <link rel="canonical" href="index.htm#KeyboardOnScreen">
 8 |   <title>Redirection</title>
 9 | </head>
10 | 
11 | <body>
12 |   <p>Redirecting to <a href="index.htm#KeyboardOnScreen">On-Screen Keyboard</a>.</p>
13 | </body>
14 | 
15 | </html>
16 | 


--------------------------------------------------------------------------------
/docs/scripts/MinimizeToTrayMenu.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | 
 4 | <head>
 5 |   <meta http-equiv="refresh" content="0; url=index.htm#MinimizeToTrayMenu">
 6 |   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 |   <link rel="canonical" href="index.htm#MinimizeToTrayMenu">
 8 |   <title>Redirection</title>
 9 | </head>
10 | 
11 | <body>
12 |   <p>Redirecting to <a href="index.htm#MinimizeToTrayMenu">Minimize Window to Tray Menu</a>.</p>
13 | </body>
14 | 
15 | </html>
16 | 


--------------------------------------------------------------------------------
/docs/scripts/MouseGestures.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | 
 4 | <head>
 5 |   <meta http-equiv="refresh" content="0; url=index.htm#MouseGestures">
 6 |   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 |   <link rel="canonical" href="index.htm#MouseGestures">
 8 |   <title>Redirection</title>
 9 | </head>
10 | 
11 | <body>
12 |   <p>Redirecting to <a href="index.htm#MouseGestures">Mouse Gestures</a>.</p>
13 | </body>
14 | 
15 | </html>
16 | 


--------------------------------------------------------------------------------
/docs/scripts/MouseGestures.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/scripts/MouseGestures.zip


--------------------------------------------------------------------------------
/docs/scripts/MsgBoxButtonNames.ahk:
--------------------------------------------------------------------------------
 1 | ; Changing MsgBox's Button Names
 2 | ; https://www.autohotkey.com
 3 | ; This is a working example script that uses a timer to change
 4 | ; the names of the buttons in a message box. Although the button
 5 | ; names are changed, the IfMsgBox command still requires that the
 6 | ; buttons be referred to by their original names.
 7 | 
 8 | #SingleInstance
 9 | SetTimer, ChangeButtonNames, 50 
10 | MsgBox, 4, Add or Delete, Choose a button:
11 | IfMsgBox, YES 
12 | 	MsgBox, You chose Add. 
13 | else 
14 | 	MsgBox, You chose Delete. 
15 | return 
16 | 
17 | ChangeButtonNames: 
18 | IfWinNotExist, Add or Delete
19 | 	return  ; Keep waiting.
20 | SetTimer, ChangeButtonNames, Off 
21 | WinActivate 
22 | ControlSetText, Button1, &Add 
23 | ControlSetText, Button2, &Delete 
24 | return
25 | 


--------------------------------------------------------------------------------
/docs/scripts/MsgBoxButtonNames.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | 
 4 | <head>
 5 |   <meta http-equiv="refresh" content="0; url=index.htm#MsgBoxButtonNames">
 6 |   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 |   <link rel="canonical" href="index.htm#MsgBoxButtonNames">
 8 |   <title>Redirection</title>
 9 | </head>
10 | 
11 | <body>
12 |   <p>Redirecting to <a href="index.htm#MsgBoxButtonNames">Changing MsgBox's Button Names</a>.</p>
13 | </body>
14 | 
15 | </html>
16 | 


--------------------------------------------------------------------------------
/docs/scripts/Numpad000.ahk:
--------------------------------------------------------------------------------
 1 | ; Numpad 000 Key
 2 | ; https://www.autohotkey.com
 3 | ; This example script makes the special 000 key that appears on certain
 4 | ; keypads into an equals key.  You can change the action by replacing the
 5 | ; “Send, =” line with line(s) of your choice.
 6 | 
 7 | #MaxThreadsPerHotkey 5  ; Allow multiple threads for this hotkey.
 8 | $Numpad0::
 9 | #MaxThreadsPerHotkey 1
10 | ; Above: Use the $ to force the hook to be used, which prevents an
11 | ; infinite loop since this subroutine itself sends Numpad0, which
12 | ; would otherwise result in a recursive call to itself.
13 | SetBatchLines, 100 ; Make it run a little faster in this case.
14 | DelayBetweenKeys = 30 ; Adjust this value if it doesn't work.
15 | if A_PriorHotkey = %A_ThisHotkey%
16 | {
17 | 	if A_TimeSincePriorHotkey < %DelayBetweenKeys%
18 | 	{
19 | 		if Numpad0Count =
20 | 			Numpad0Count = 2 ; i.e. This one plus the prior one.
21 | 		else if Numpad0Count = 0
22 | 			Numpad0Count = 2
23 | 		else
24 | 		{
25 | 			; Since we're here, Numpad0Count must be 2 as set by
26 | 			; prior calls, which means this is the third time the
27 | 			; the key has been pressed. Thus, the hotkey sequence
28 | 			; should fire:
29 | 			Numpad0Count = 0
30 | 			Send, = ; ******* This is the action for the 000 key
31 | 		}
32 | 		; In all the above cases, we return without further action:
33 | 		CalledReentrantly = y
34 | 		return
35 | 	}
36 | }
37 | ; Otherwise, this Numpad0 event is either the first in the series
38 | ; or it happened too long after the first one (e.g. perhaps the
39 | ; user is holding down the Numpad0 key to auto-repeat it, which
40 | ; we want to allow).  Therefore, after a short delay -- during
41 | ; which another Numpad0 hotkey event may re-entrantly call this
42 | ; subroutine -- we'll send the key on through if no reentrant
43 | ; calls occurred:
44 | Numpad0Count = 0
45 | CalledReentrantly = n
46 | ; During this sleep, this subroutine may be reentrantly called
47 | ; (i.e. a simultaneous "thread" which runs in parallel to the
48 | ; call we're in now):
49 | Sleep, %DelayBetweenKeys%
50 | if CalledReentrantly = y ; Another "thread" changed the value.
51 | {
52 | 	; Since it was called reentrantly, this key event was the first in
53 | 	; the sequence so should be suppressed (hidden from the system):
54 | 	CalledReentrantly = n
55 | 	return
56 | }
57 | ; Otherwise it's not part of the sequence so we send it through normally.
58 | ; In other words, the *real* Numpad0 key has been pressed, so we want it
59 | ; to have its normal effect:
60 | Send, {Numpad0}
61 | return
62 | 


--------------------------------------------------------------------------------
/docs/scripts/Numpad000.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | 
 4 | <head>
 5 |   <meta http-equiv="refresh" content="0; url=index.htm#Numpad000">
 6 |   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 |   <link rel="canonical" href="index.htm#Numpad000">
 8 |   <title>Redirection</title>
 9 | </head>
10 | 
11 | <body>
12 |   <p>Redirecting to <a href="index.htm#Numpad000">Numpad 000 Key</a>.</p>
13 | </body>
14 | 
15 | </html>
16 | 


--------------------------------------------------------------------------------
/docs/scripts/NumpadMouse.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | 
 4 | <head>
 5 |   <meta http-equiv="refresh" content="0; url=index.htm#NumpadMouse">
 6 |   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 |   <link rel="canonical" href="index.htm#NumpadMouse">
 8 |   <title>Redirection</title>
 9 | </head>
10 | 
11 | <body>
12 |   <p>Redirecting to <a href="index.htm#NumpadMouse">Using Keyboard Numpad as a Mouse</a>.</p>
13 | </body>
14 | 
15 | </html>
16 | 


--------------------------------------------------------------------------------
/docs/scripts/Seek_(SearchTheStartMenu).htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | 
 4 | <head>
 5 |   <meta http-equiv="refresh" content="0; url=index.htm#Seek_(SearchTheStartMenu)">
 6 |   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 |   <link rel="canonical" href="index.htm#Seek_(SearchTheStartMenu)">
 8 |   <title>Redirection</title>
 9 | </head>
10 | 
11 | <body>
12 |   <p>Redirecting to <a href="index.htm#Seek_(SearchTheStartMenu)">Seek (Search the Start Menu)</a>.</p>
13 | </body>
14 | 
15 | </html>
16 | 


--------------------------------------------------------------------------------
/docs/scripts/TooltipMouseMenu.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | 
 4 | <head>
 5 |   <meta http-equiv="refresh" content="0; url=index.htm#TooltipMouseMenu">
 6 |   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 |   <link rel="canonical" href="index.htm#TooltipMouseMenu">
 8 |   <title>Redirection</title>
 9 | </head>
10 | 
11 | <body>
12 |   <p>Redirecting to <a href="index.htm#TooltipMouseMenu">ToolTip Mouse Menu</a>.</p>
13 | </body>
14 | 
15 | </html>
16 | 


--------------------------------------------------------------------------------
/docs/scripts/VolumeOSD.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | 
 4 | <head>
 5 |   <meta http-equiv="refresh" content="0; url=index.htm#VolumeOSD">
 6 |   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 |   <link rel="canonical" href="index.htm#VolumeOSD">
 8 |   <title>Redirection</title>
 9 | </head>
10 | 
11 | <body>
12 |   <p>Redirecting to <a href="index.htm#VolumeOSD">Volume On-Screen-Display (OSD)</a>.</p>
13 | </body>
14 | 
15 | </html>
16 | 


--------------------------------------------------------------------------------
/docs/scripts/WinLIRC.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | 
 4 | <head>
 5 |   <meta http-equiv="refresh" content="0; url=index.htm#WinLIRC">
 6 |   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 |   <link rel="canonical" href="index.htm#WinLIRC">
 8 |   <title>Redirection</title>
 9 | </head>
10 | 
11 | <body>
12 |   <p>Redirecting to <a href="index.htm#WinLIRC">WinLIRC Client</a>.</p>
13 | </body>
14 | 
15 | </html>
16 | 


--------------------------------------------------------------------------------
/docs/scripts/WindowShading.ahk:
--------------------------------------------------------------------------------
 1 | ; Window Shading (roll up a window to its title bar) -- by Rajat
 2 | ; https://www.autohotkey.com
 3 | ; This script reduces a window to its title bar and then back to its
 4 | ; original size by pressing a single hotkey.  Any number of windows
 5 | ; can be reduced in this fashion (the script remembers each).  If the
 6 | ; script exits for any reason, all "rolled up" windows will be
 7 | ; automatically restored to their original heights.
 8 | 
 9 | ; Set the height of a rolled up window here.  The operating system
10 | ; probably won't allow the title bar to be hidden regardless of
11 | ; how low this number is:
12 | ws_MinHeight = 25
13 | 
14 | ; This line will unroll any rolled up windows if the script exits
15 | ; for any reason:
16 | OnExit, ExitSub
17 | return  ; End of auto-execute section
18 | 
19 | #z::  ; Change this line to pick a different hotkey.
20 | ; Below this point, no changes should be made unless you want to
21 | ; alter the script's basic functionality.
22 | ; Uncomment this next line if this subroutine is to be converted
23 | ; into a custom menu item rather than a hotkey.  The delay allows
24 | ; the active window that was deactivated by the displayed menu to
25 | ; become active again:
26 | ;Sleep, 200
27 | WinGet, ws_ID, ID, A
28 | Loop, Parse, ws_IDList, |
29 | {
30 | 	IfEqual, A_LoopField, %ws_ID%
31 | 	{
32 | 		; Match found, so this window should be restored (unrolled):
33 | 		StringTrimRight, ws_Height, ws_Window%ws_ID%, 0
34 | 		WinMove, ahk_id %ws_ID%,,,,, %ws_Height%
35 | 		StringReplace, ws_IDList, ws_IDList, |%ws_ID%
36 | 		return
37 | 	}
38 | }
39 | WinGetPos,,,, ws_Height, A
40 | ws_Window%ws_ID% = %ws_Height%
41 | WinMove, ahk_id %ws_ID%,,,,, %ws_MinHeight%
42 | ws_IDList = %ws_IDList%|%ws_ID%
43 | return
44 | 
45 | ExitSub:
46 | Loop, Parse, ws_IDList, |
47 | {
48 | 	if A_LoopField =  ; First field in list is normally blank.
49 | 		continue      ; So skip it.
50 | 	StringTrimRight, ws_Height, ws_Window%A_LoopField%, 0
51 | 	WinMove, ahk_id %A_LoopField%,,,,, %ws_Height%
52 | }
53 | ExitApp  ; Must do this for the OnExit subroutine to actually Exit the script.
54 | 


--------------------------------------------------------------------------------
/docs/scripts/WindowShading.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | 
 4 | <head>
 5 |   <meta http-equiv="refresh" content="0; url=index.htm#WindowShading">
 6 |   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 |   <link rel="canonical" href="index.htm#WindowShading">
 8 |   <title>Redirection</title>
 9 | </head>
10 | 
11 | <body>
12 |   <p>Redirecting to <a href="index.htm#WindowShading">Window Shading</a>.</p>
13 | </body>
14 | 
15 | </html>
16 | 


--------------------------------------------------------------------------------
/docs/search.htm:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <meta name="robots" content="noindex, nofollow" />
 5 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 6 | <meta http-equiv="X-UA-Compatible" content="IE=edge">
 7 | <link href="static/theme.css" rel="stylesheet" type="text/css" />
 8 | <script>forceNoScript = true;</script>
 9 | <script src="static/content.js" type="text/javascript"></script>
10 | </head>
11 | <body>
12 | <p>Searching...</p>
13 | <p id="container" style="display:none"></p>
14 | <script>
15 | /*
16 | Usage: search.htm?q=query&m=mode
17 | 
18 |   mode = 1 -> index tab
19 |   mode = 2 -> search tab
20 | 
21 | &m=mode is optional and defaults to mode #1 (index).
22 | */
23 | var pQuery = getUrlParameter("q");
24 | var pMode = (Number(getUrlParameter("m")) || 1);
25 | 
26 | switch(pMode) {
27 |   case 1:
28 |   cache.index_input = pQuery;
29 |   cache.index_scrollPos = null;
30 |   cache.clickTab = 1;
31 |   loadScript(index.dataPath, function() {
32 |     cache.index_data = indexData;
33 |     document.getElementById('container').innerHTML = index.create(cache.index_data, -1);
34 |     var aList = $('#container').children();
35 |     match = index.findMatch(aList, pQuery.toLowerCase());
36 |     if (match.length) {
37 |       cache.index_clickItem = match.index();
38 |       window.location = match.attr('href');
39 |     }
40 |     else {
41 |       window.location = scriptDir+"/../";
42 |     }
43 |     cache.save();
44 |   });
45 |   break;
46 |   case 2:
47 |   cache.search_input = pQuery;
48 |   cache.search_scrollPos = null;
49 |   cache.clickTab = 2;
50 |   cache.LastUsedSource = "search";
51 |   loadScript(search.dataPath, function() {
52 |     cache.search_index = SearchIndex;
53 |     cache.search_files = SearchFiles;
54 |     cache.search_titles = SearchTitles;
55 |     cache.search_data = search.create(pQuery.toLowerCase());
56 |     document.getElementById('container').innerHTML = cache.search_data;
57 |     cache.save();
58 |     var aList = $('#container').children();
59 |     if (aList.length)
60 |       window.location = aList.eq(0).attr('href');
61 |     else {
62 |       window.location = scriptDir+"/../";
63 |     }
64 |   });
65 |   break;
66 | }
67 | // https://stackoverflow.com/a/21903119
68 | function getUrlParameter(sParam) {
69 |     var sPageURL, sParameterName, i;
70 |     if (window.location.search)
71 |       sPageURL = window.location.search.substring(1);
72 |     else
73 |       sPageURL = window.location.hash.substring(1);
74 |     var sURLVariables = sPageURL.split('&');
75 |     for (i = 0; i < sURLVariables.length; i++) {
76 |         sParameterName = sURLVariables[i].split('=');
77 | 
78 |         if (sParameterName[0] === sParam) {
79 |             return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]);
80 |         }
81 |     }
82 | };
83 | </script>
84 | </body>
85 | </html>
86 | 


--------------------------------------------------------------------------------
/docs/static/ahk16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ahk16.png


--------------------------------------------------------------------------------
/docs/static/ahk16_pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ahk16_pause.png


--------------------------------------------------------------------------------
/docs/static/ahk16_pause_suspend.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ahk16_pause_suspend.png


--------------------------------------------------------------------------------
/docs/static/ahk16_suspend.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ahk16_suspend.png


--------------------------------------------------------------------------------
/docs/static/ahk_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ahk_logo.png


--------------------------------------------------------------------------------
/docs/static/ahk_logo_no_text.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ahk_logo_no_text.png


--------------------------------------------------------------------------------
/docs/static/ahkfile16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ahkfile16.png


--------------------------------------------------------------------------------
/docs/static/ctrl_button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ctrl_button.png


--------------------------------------------------------------------------------
/docs/static/ctrl_check.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ctrl_check.png


--------------------------------------------------------------------------------
/docs/static/ctrl_combo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ctrl_combo.png


--------------------------------------------------------------------------------
/docs/static/ctrl_datetime.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ctrl_datetime.png


--------------------------------------------------------------------------------
/docs/static/ctrl_ddl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ctrl_ddl.png


--------------------------------------------------------------------------------
/docs/static/ctrl_edit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ctrl_edit.png


--------------------------------------------------------------------------------
/docs/static/ctrl_group.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ctrl_group.png


--------------------------------------------------------------------------------
/docs/static/ctrl_hotkey.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ctrl_hotkey.png


--------------------------------------------------------------------------------
/docs/static/ctrl_link.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ctrl_link.png


--------------------------------------------------------------------------------
/docs/static/ctrl_list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ctrl_list.png


--------------------------------------------------------------------------------
/docs/static/ctrl_listview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ctrl_listview.png


--------------------------------------------------------------------------------
/docs/static/ctrl_menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ctrl_menu.png


--------------------------------------------------------------------------------
/docs/static/ctrl_monthcal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ctrl_monthcal.png


--------------------------------------------------------------------------------
/docs/static/ctrl_progress.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ctrl_progress.png


--------------------------------------------------------------------------------
/docs/static/ctrl_radio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ctrl_radio.png


--------------------------------------------------------------------------------
/docs/static/ctrl_slider.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ctrl_slider.png


--------------------------------------------------------------------------------
/docs/static/ctrl_status.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ctrl_status.png


--------------------------------------------------------------------------------
/docs/static/ctrl_tab.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ctrl_tab.png


--------------------------------------------------------------------------------
/docs/static/ctrl_text.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ctrl_text.png


--------------------------------------------------------------------------------
/docs/static/ctrl_treeview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ctrl_treeview.png


--------------------------------------------------------------------------------
/docs/static/ctrl_updown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/ctrl_updown.png


--------------------------------------------------------------------------------
/docs/static/dlg_file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/dlg_file.png


--------------------------------------------------------------------------------
/docs/static/dlg_folder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/dlg_folder.png


--------------------------------------------------------------------------------
/docs/static/dlg_input.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/dlg_input.png


--------------------------------------------------------------------------------
/docs/static/dlg_message.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/dlg_message.png


--------------------------------------------------------------------------------
/docs/static/dlg_tooltip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/dlg_tooltip.png


--------------------------------------------------------------------------------
/docs/static/dlg_traytip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/dlg_traytip.png


--------------------------------------------------------------------------------
/docs/static/fonts/icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/fonts/icons.eot


--------------------------------------------------------------------------------
/docs/static/fonts/icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/fonts/icons.ttf


--------------------------------------------------------------------------------
/docs/static/fonts/icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AutoHotkey/AutoHotkeyDocs/08a85a01ca53b9868d7f8488e043c910b798258e/docs/static/fonts/icons.woff


--------------------------------------------------------------------------------
/docs/static/highlighter/dark.css:
--------------------------------------------------------------------------------
 1 | @import url('highlighter.css');
 2 | 
 3 | .highlight>.cmd,
 4 | .highlight>.bif {
 5 |   color: #569cd6;
 6 | }
 7 | 
 8 | .highlight>.met {
 9 |   color: #60c5dc;
10 | }
11 | 
12 | .highlight>.cfs,
13 | .highlight>.dec {
14 |   color: #c586c0;
15 | }
16 | 
17 | .highlight>.str {
18 |   color: #ce9178;
19 | }
20 | 
21 | .highlight .str>.esc,
22 | .highlight .lab>.esc {
23 |   color: #d7ba7d;
24 | }
25 | 
26 | .highlight>.biv,
27 | .highlight>.cls {
28 |   color: #4ec9b0;
29 | }
30 | 
31 | .highlight>.dir {
32 |   color: #dcdcaa;
33 | }
34 | 
35 | .highlight>.lab,
36 | .highlight>.fun {
37 |   font-weight: normal;
38 |   color: #dcdcaa;
39 | }
40 | 
41 | .highlight>.num {
42 |   color: #b5cea8;
43 | }
44 | 
45 | .highlight .cmt {
46 |   color: #6a9955;
47 | }
48 | 
49 | .highlight.line-numbers .line-numbers-rows {
50 |   border-right-color: #999;
51 | }
52 | 
53 | .highlight.line-numbers .line-numbers-rows>span:before {
54 |   color: #999;
55 | }
56 | 


--------------------------------------------------------------------------------
/docs/static/highlighter/highlighter.css:
--------------------------------------------------------------------------------
 1 | .highlight span>a,
 2 | .highlight span>a:hover {
 3 |   color: inherit !important;
 4 | }
 5 | 
 6 | .highlight span>a {
 7 |   text-decoration: none;
 8 | }
 9 | 
10 | .highlight.line-numbers-hide .line-numbers-rows {
11 |   display: none;
12 | }
13 | 
14 | .highlight.line-numbers {
15 |   white-space: pre;
16 |   overflow-x: auto;
17 | }
18 | 
19 | .highlight.line-numbers .line-numbers-rows {
20 |   position: absolute;
21 |   pointer-events: none;
22 |   top: 0;
23 |   font-size: 100%;
24 |   left: 0;
25 |   width: 3em;
26 |   letter-spacing: -1px;
27 |   border-right: 1px solid;
28 |   -webkit-user-select: none;
29 |   -moz-user-select: none;
30 |   -ms-user-select: none;
31 |   user-select: none;
32 | }
33 | 
34 | .highlight.line-numbers .line-numbers-rows>span {
35 |   display: block;
36 |   counter-increment: linenumber;
37 | }
38 | 
39 | .highlight.line-numbers .line-numbers-rows>span:before {
40 |   content: counter(linenumber);
41 |   display: block;
42 |   padding-right: 0.8em;
43 |   text-align: right;
44 | }
45 | 
46 | .highlight code {
47 |   position: relative;
48 |   display: block;
49 |   background-color: inherit;
50 |   color: inherit;
51 | }
52 | 
53 | .highlight.line-numbers code {
54 |   padding-left: 3.8em;
55 | }
56 | 


--------------------------------------------------------------------------------
/docs/static/highlighter/light.css:
--------------------------------------------------------------------------------
 1 | @import url('highlighter.css');
 2 | 
 3 | .highlight>.cmd,
 4 | .highlight>.bif {
 5 |   color: #0148c2;
 6 | }
 7 | 
 8 | .highlight>.met {
 9 |   color: #097f9a;
10 | }
11 | 
12 | .highlight>.cfs,
13 | .highlight>.dec {
14 |   color: #6F008A;
15 | }
16 | 
17 | .highlight>.str {
18 |   color: #A31515;
19 | }
20 | 
21 | .highlight .str>.esc {
22 |   color: #FF0000;
23 | }
24 | 
25 | .highlight>.biv,
26 | .highlight>.cls {
27 |   color: #006400;
28 | }
29 | 
30 | .highlight>.dir {
31 |   color: green;
32 | }
33 | 
34 | .highlight>.lab,
35 | .highlight>.fun {
36 |   font-weight: bold;
37 |   color: #290e90;
38 | }
39 | 
40 | .highlight .lab>.esc {
41 |   color: #0d6bff;
42 | }
43 | 
44 | .highlight>.num {
45 |   color: #1a6c4e;
46 | }
47 | 
48 | .highlight>.cmt {
49 |   color: #708090;
50 | }
51 | 
52 | .highlight.line-numbers .line-numbers-rows {
53 |   border-right-color: #999;
54 | }
55 | 
56 | .highlight.line-numbers .line-numbers-rows>span:before {
57 |   color: #999;
58 | }
59 | 


--------------------------------------------------------------------------------
/docs/static/source/check_data.ahk:
--------------------------------------------------------------------------------
 1 | ; Requires AutoHotkey v1.1
 2 | 
 3 | SetWorkingDir %A_ScriptDir%\..\..  ; Required.
 4 | 
 5 | if !RegExMatch(A_WorkingDir, "\\docs
quot;)  ; Sanity check.
 6 |     MsgBox 48,, Working dir is not \docs.`n%A_WorkingDir%
 7 | 
 8 | file_indexed := {}
 9 | 
10 | ; Check for missing files and anchors referenced in the index.
11 | datafile := A_WorkingDir "\static\source\data_index.js"
12 | Loop Read, %datafile%
13 | {
14 |     if RegExMatch(A_LoopReadLine, "O)\[""(.*?)"",""(.*?)""", m)
15 |     {
16 |         CheckHREF(m[1], m[2])
17 |     }
18 | }
19 | 
20 | ; Check for missing files and anchors referenced in the TOC.
21 | datafile := A_WorkingDir "\static\source\data_toc.js"
22 | Loop Read, %datafile%
23 | {
24 |     if RegExMatch(A_LoopReadLine, "O)\[""(.*?)"",""(.+?)""", m)
25 |     {
26 |         CheckHREF(m[1], m[2])
27 |     }
28 | }
29 | 
30 | ; Check for files which aren't in the index or TOC.
31 | ; Note that some are intentionally omitted.
32 | if false
33 | Loop Files, *.htm, FR
34 | {
35 |     path := A_LoopFileFullPath
36 |     if !file_indexed[path]
37 |         D("file not in index or TOC: " path)
38 | }
39 | 
40 | CheckHREF(topic, href)
41 | {
42 |     global file_indexed, datafile
43 |     href := StrSplit(href, "#")
44 |     FileRead html, % href[1]
45 |     if ErrorLevel
46 |         D(datafile " (" A_Index ") : " href[1])
47 |     else if href.length() != 1 && !InStr(html, "id=""" href[2] """")
48 |         D(datafile " (" A_Index ") : #" href[2])
49 |     file_indexed[StrReplace(href[1],"/","\")] := true
50 | }
51 | 
52 | D(s) {
53 |     FileAppend %s%`n, *
54 | }


--------------------------------------------------------------------------------
/docs/static/source/data_deprecate.js:
--------------------------------------------------------------------------------
 1 | deprecateData = {
 2 |   "lib/_CommentFlag.htm":"the default comment flag (semicolon)",
 3 |   "lib/_EscapeChar.htm":"the default escape character (accent)",
 4 |   "lib/_EscapeChar.htm#Delimiter":"the default delimiter character (comma)",
 5 |   "lib/_EscapeChar.htm#DerefChar":"the default dereference character (percent)",
 6 |   "lib/ComObjActive.htm#ComObjParameter":"ComObject()",
 7 |   "lib/ComObjActive.htm#ComObjMissing":"two consecutive commas",
 8 |   "lib/ComObjActive.htm#ComObjEnwrap":"ComObject() with ObjAddRef()",
 9 |   "lib/ComObjActive.htm#ComObjEnwrapUnwrap":"ComObject() or ComObjValue() with ObjAddRef()",
10 |   "lib/ComObjActive.htm#ComObjUnwrap":"ComObjValue() with ObjAddRef()",
11 |   "lib/EnvDiv.htm":"Var /= Value",
12 |   "lib/EnvMult.htm":"Var *= Value",
13 |   "lib/GetKeyState.htm#command":"GetKeyState()",
14 |   "lib/IfEqual.htm":"If (expression)",
15 |   "lib/IfExist.htm":"FileExist()",
16 |   "lib/IfInString.htm":"InStr()",
17 |   "lib/IfWinActive.htm":"WinActive()",
18 |   "lib/IfWinExist.htm":"WinExist()",
19 |   "lib/OnClipboardChange.htm#label":"OnClipboardChange()",
20 |   "lib/OnExit.htm#command":"OnExit()",
21 |   "lib/Progress.htm":"Gui",
22 |   "lib/SetEnv.htm":"Var := Value",
23 |   "lib/SetFormat.htm":"Format()",
24 |   "lib/SplashTextOn.htm":"Gui",
25 |   "lib/StringGetPos.htm":"InStr()",
26 |   "lib/StringLeft.htm":"SubStr()",
27 |   "lib/StringLen.htm":"StrLen()",
28 |   "lib/StringMid.htm":"SubStr()",
29 |   "lib/StringReplace.htm":"StrReplace()",
30 |   "lib/StringSplit.htm":"StrSplit()",
31 |   "lib/StringTrimLeft.htm":"SubStr()",
32 |   "lib/Transform.htm": "math functions and operators",
33 |   "lib/Transform.htm#Abs": "Abs()",
34 |   "lib/Transform.htm#ACos": "ACos()",
35 |   "lib/Transform.htm#Asc": "Asc()",
36 |   "lib/Transform.htm#ASin": "ASin()",
37 |   "lib/Transform.htm#ATan": "ATan()",
38 |   "lib/Transform.htm#BitAnd": "the & operator",
39 |   "lib/Transform.htm#BitNot": "the ~ operator",
40 |   "lib/Transform.htm#BitOr": "the | operator",
41 |   "lib/Transform.htm#BitShiftLeft": "the << operator",
42 |   "lib/Transform.htm#BitShiftRight": "the >> operator",
43 |   "lib/Transform.htm#BitXOr": "the ^ operator",
44 |   "lib/Transform.htm#Ceil": "Ceil()",
45 |   "lib/Transform.htm#Chr": "Chr()",
46 |   "lib/Transform.htm#Cos": "Cos()",
47 |   "lib/Transform.htm#Deref": "the expression syntax or a custom function",
48 |   "lib/Transform.htm#Exp": "Exp()",
49 |   "lib/Transform.htm#Floor": "Floor()",
50 |   "lib/Transform.htm#HTML": "a custom function",
51 |   "lib/Transform.htm#Ln": "Ln()",
52 |   "lib/Transform.htm#Log": "Log()",
53 |   "lib/Transform.htm#Mod": "Mod()",
54 |   "lib/Transform.htm#Pow": "the ** operator",
55 |   "lib/Transform.htm#Round": "Round()",
56 |   "lib/Transform.htm#Sin": "Sin()",
57 |   "lib/Transform.htm#Sqrt": "Sqrt()",
58 |   "lib/Transform.htm#Tan": "Tan()",
59 |   "lib/Transform.htm#Unicode": "the Unicode version of AutoHotkey"
60 | };
61 | 


--------------------------------------------------------------------------------
/docs/static/source/data_translate.js:
--------------------------------------------------------------------------------
 1 | translateData = {
 2 |   // sidebar
 3 |   "C̲ontent":true,
 4 |   "Content tab":true,
 5 |   "Shortcut: ALT+C":true,
 6 |   "In̲dex":true,
 7 |   "Index tab":true,
 8 |   "Shortcut: ALT+N":true,
 9 |   "Filter":true,
10 |   "Directives":true,
11 |   "Built-in Variables":true,
12 |   "Built-in Functions":true,
13 |   "Control Flow Statements":true,
14 |   "Declarations":true,
15 |   "Operators":true,
16 |   "Commands":true,
17 |   "Sub-commands":true,
18 |   "Built-in Methods/Properties":true,
19 |   "Ahk2Exe Compiler":true,
20 |   "S̲earch":true,
21 |   "Search tab":true,
22 |   "Shortcut: ALT+S":true,
23 |   "Search":true,
24 |   "Highlight keywords":true,
25 |   "Go to previous/next occurrence":true,
26 |   "Quick reference":true,
27 |   "Collapse or uncollapse the quick reference":true,
28 |   // header
29 |   "Skip navigation":true,
30 |   "Hide or show the sidebar":true,
31 |   "Go to the homepage":true,
32 |   "en":true,
33 |   "Change the language":true,
34 |   "v1":true,
35 |   "Change the version":true,
36 |   "Edit this document on GitHub":true,
37 |   "https://github.com/Lexikos/AutoHotkey_L-Docs/edit/v1/docs/":true,
38 |   "Go back":true,
39 |   "Go forward":true,
40 |   "Change the font size":true,
41 |   "Print this document":true,
42 |   "Open this document in the default browser (requires internet connection). Middle-click to copy the link address.":true,
43 |   "Use the dark or light theme":true,
44 |   "Open the help settings":true,
45 |   // ALT+... shortcuts (needs uppercase)
46 |   "C":true,
47 |   "N":true,
48 |   "S":true,
49 |   // content
50 |   "Select code":true,
51 |   "Download code":true,
52 |   "Back to top":true,
53 |   "Applies to:\nAutoHotkey_L Revision {0} and later\nAutoHotkey v1.0.90.00 and later":true,
54 |   "Applies to AutoHotkey {0} and later":true,
55 |   "Deprecated. New scripts should use {0} instead.":true
56 | };
57 | 


--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE HTML>
 2 | <html lang="en">
 3 | <head>
 4 | <meta http-equiv="refresh" content="0;url=docs/" />
 5 | <link rel="canonical" href="docs/" />
 6 | </head>
 7 | <body>
 8 | <p>Redirecting to <a href="docs/">docs/</a>.</p>
 9 | </body>
10 | </html>


--------------------------------------------------------------------------------