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_8″, “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.