Macro
Macro-urile sunt variabile speciale, folosite de AutoIt, care permit accesul doar pentru citire. Macro-urile incep cu caracterul @ in loc de uzualul $ pentru variabilele normale. Ca si in cazul variabilelor normale, macro-urile pot fi folosite in expresii doar ca nu este posibila atribuirea unei valori pentru un macro. Macro-urile predefinite sunt folosite in general pentru a obtine accesul rapid la informatii ale sistemului.
Macro-urile sunt impartite in 4 categorii:
a) Macro-uri referitoare la AutoIt
| Macro | Descriere |
| @compiled | Are valoarea 1 daca scriptul este compilat; 0 in orice alt caz |
| @error | Indicator al erorii |
| @exitCode | Codul de iesire |
| @exitMethod | Valoare 0 pentru inchidere normala, 1 inchidere folosind Exit, 2 inchidere folosind system tray, 3 inchidere prin delogarea userului, 4 inchidere prin inchiderea Window-ului. |
| @extended | Extensie a rezultatului unei functii |
| @NumParams | Numarul de parametri folositi la apelarea functiei |
| @ScriptName | Numele scriptului care ruleaza |
| @ScriptDir | Numele directorului care contine scriptul care ruleaza |
| @ScriptFullPath | Echivalent cu @ScriptDir & “\” & @ScriptName |
| @ScriptLineNumber | Numarul liniei curente care este executata (macro utilizat in special pentru debug) |
| @WorkingDir | Directorul de lucru curent/activ |
| @AutoItExe | Calea intreaga spre compilatorul AutoIt |
| @AutoItPID | Identificatorul procesului in care ruleaza scriptul curent |
| @AutoItVersion | Versiunea AutoIt |
| @AutoItX64 | Valoare 1 daca scriptul ruleaza folosind versiunea x64 |
| @COM_EventObj | Evenimentul obiectului COM, valabil doar intr-o functie care carespunde unui eveniment al obiectului |
| @GUI_CtrlId | ID-ul ultimului control apasat |
| @GUI_CtrlHandle | Handle-ul ultimul control apasat |
| @GUI_DragID | Drag event ID, valid doar in Drop Event |
| @GUI_DragFile | Numele fisierului folosit in operatia Drag&Drop |
| @GUI_DropID | Drop event ID, valid doar in Drop Event |
| @GUI_WinHandle | Handle-ul ultimul GUI pe care s-a apasat clic |
| @HotKeyPressed | Ultimul hotkey apasat |
|
Pentru folosirea cu functiile WinSetState, Run, RunWait, FileCreateShortcut and FileGetShortcut |
|
| @SW_DISABLE | Dezactiveaza fereastra |
| @SW_ENABLE | Activeaza fereastra |
| @SW_HIDE | Ascunde fereastra |
| @SW_LOCK | Blocheaza fereastra pentru desenare |
| @SW_MAXIMIZE | Maximizeaza fereastra |
| @SW_MINIMIZE | Minimizeaza fereastra |
| @SW_RESTORE | Restaureaza fereastra |
| @SW_SHOW | Arata fereastra in pozitia actuala |
| @SW_SHOWDEFAULT | Arata fereastra cu valoare SW_ specificata de programul care a inceput aplicatia |
| @SW_SHOWMAXIMIZED | Activeaza fereastra si o afiseaza maximizata |
| @SW_SHOWMINIMIZED | Activeaza fereastra si o afiseaza minimizata |
| @SW_SHOWMINNOACTIVE | Similar cu @SW_SHOWMINIMIZED doar ca fereastra nu este activata. |
| @SW_SHOWNA | Similar cu @SW_SHOW doar ca fereastra nu e activata. |
| @SW_SHOWNOACTIVATE | Similar cu @SW_SHOWNORMAL doar ca fereastra nu e activata. |
| @SW_SHOWNORMAL | Activeaza si afiseaza o fereastra. Daca fereastra este maximizata sau minimizata va fi restaurata in pozitia originala si cu dimensiunile originale. |
| @SW_UNLOCK | Dezactiveaza fereastra pentru desenare |
| @TRAY_ID | ID-ul ultimului item apasat in timpul unei actiuni in system tray |
| @TrayIconFlashing | Valoarea 1 daca tray icon-ul licareste si 0 in caz contrar |
| @TrayIconVisible | Valoarea 1 daca tray icon-ul este vizibil si 0 in caz contrar |
| @CR | Carriage return (ASCII 13), uneori folosit pentru intreruperea liniilor |
| @LF | Line feed (ASCII 10), in general folosit pentru intreruperea liniilor |
| @CRLF | Egal cu @CR & @LF |
| @TAB | Caracterul TAB (ASCII 9) |
b) Macro-uri pentru directoare
| Macro | Descriere |
| Macrou-uri pentru “All Users” | |
| @AppDataCommonDir | Calea spre Application Data |
| @DesktopCommonDir | Calea spre Desktop |
| @DocumentsCommonDir | Calea spre Documents |
| @FavoritesCommonDir | Calea spre Favorites |
| @ProgramsCommonDir | Calea spre Start Menu’s Programs |
| @StartMenuCommonDir | Calea spre Start Menu |
| @StartupCommonDir | Calea spre Startup |
| Macro-uri pentru “Current User” | |
| @AppDataDir | Calea spre directorul Application Data al userului curent |
| @DesktopDir | Calea spre directorul Desktop al userului curent |
| @MyDocumentsDir | Calea spre directorul My Documents al userului curent |
| @FavoritesDir | Calea spre directorul Favorites al userului curent |
| @ProgramsDir | Calea spre directorul Programs al userului curent |
| @StartMenuDir | Calea spre directorul Start Menu al userului curent |
| @StartupDir | Calea spre directorul Startup al userului curent |
| @UserProfileDir | Calea spre directorul Profile al userului curent |
| Alte macro-uri pentru sistem | |
| @HomeDrive | Litera dispozitivului care contine directorul Home al utilizatorului curent |
| @HomePath | Parte din calea directorului Home. Pentru a obtine calea intreaga se foloseste impreuna cu @HomeDrive |
| @HomeShare | Share name-ul ce contine directorul Home al userului curent |
| @LogonDNSDomain | Logon DNS Domain |
| @LogonDomain | Logon Domain |
| @LogonServer | Logon server |
| @ProgramFilesDir | Calea spre directorul Program Files |
| @CommonFilesDir | Calea spre directorul Common Files |
| @WindowsDir | Calea spre directorul Windows-ului |
| @SystemDir | Calea spre directorul System din Windows (sau System32) |
| @TempDir | Calea spre directorul Temp |
| @ComSpec | Valoarea %comspec%, folosit in special pentru linia de comanda |
c) Macro-uri pentru informatii ale sistemului
| Macro | Descriere |
| @CPUArch | “X86″ pentru procesoare 32-bit si “X64″ pentru procesoare x64 |
| @KBLayout | Cod care indica Keyboard Layout-ul |
| @MUILang | Cod care indica Multi Language (daca este disponibil) |
| @OSArch | Arhitectura sistemului de operare curent, una din valorile “X86″, “IA64″, “X64″ |
| @OSLang | Cod care indica limba sistemului de operare |
| @OSType | Tipul sistemului de operare (“WIN32_NT” pentru 2000 / XP / 2003 / Vista / 2008 / Win7 / 2008R2) |
| @OSVersion | Una din urmatoarele valori “WIN_2008R2″, “WIN_7″, “WIN_2008″, “WIN_VISTA”, “WIN_2003″, “WIN_XP”, “WIN_XPe”, “WIN_2000″. |
| @OSBuild | Build number-ul sistemului de operare |
| @OSServicePack | Informatii despre Service Pack |
| @ComputerName | Numele de retea al computerului |
| @UserName | ID-ul userului curent |
| @IPAddress1 | Adresa IP pentru primului adaptor de retea |
| @IPAddress2 | Adresa IP pentru al doilea adaptor de retea |
| @IPAddress3 | Adresa IP pentru al treilea adaptor de retea |
| @IPAddress4 | Adresa IP pentru al patrulea adaptor de retea |
| @DesktopHeight | Inaltimea desktop-ului in pixeli |
| @DesktopWidth | Latimea desktop-ului in pixeli |
| @DesktopDepth | Adancimea de culoare a desktop-ului in biti/pixel |
| @DesktopRefresh | Rata de reimprospatare a desktop-ului in Hertzi. |
d) Macro-uri pentru timp si data
| Macro | Descriere |
| @MSEC | Numarul milisecundelor ceasului. Interval 000-999 |
| @SEC | Numarul secundelor ceasului. Interval 00-59 |
| @MIN | Numarul minutelor ceasului. Interval 00-59 |
| @HOUR | Numarul orelor ceasului (in format 24-ore). Interval 00-23 |
| @MDAY | Ziua curenta a lunii. Interval 01-31 |
| @MON | Luna curenta. Interval 01-12 |
| @YEAR | Anul curent |
| @WDAY | Ziua saptamanii (valoare numerica). Interval 1-7 (Sunday – Saturday.) |
| @YDAY | Ziua curenta a anului. Interval 001-366 (sau 365 daca nu e an bisect) |
Cateva exemple de folosire a macro-urilor:

* Pentru orice intrebari sau nelamuriri legate de curs sau limbajul AutoIt accesati sectiunea AutoIt a forumului SkullBox sau platforma de suport tehnic NetHelp.