AutoIT tut 21 : Macro
MACRO
Macro hiểu đơn giản là các lệnh ngắn gọn được thiết kế sẵn để lấy các thông tin từ hệ thống hoặc ứng dụng. Giá trị của chúng có thể không cố định vì phụ thuộc vào vào hệ thống. Trong AutoIt, các macro được bắt đầu với ký tự @ và theo sau tên của macro. Bên dưới là các Macro thường được dùng .
Macro thời gian
@MSEC | Mili giây hiện tại của đồng hồ hệ thống. Vùng giá trị từ 00 đến 999 |
@SEC | Giây hiện tại. Vùng giá trị từ 00 đến 59 |
@MIN | Phút hiện tại. Vùng giá trị từ 00 đến 59 |
@HOUR | Giờ hiện tại, theo dạng 24 giờ. Vùng giá trị từ 00 đến 23 |
@MDAY | Ngày hiện tại trong tháng. Vùng giá trị từ 01 đến 31 |
@MON | Tháng hiện tại. Vùng giá trị từ 01 đến 12 |
@YEAR | Bốn ký số của năm hiện hành |
@WDAY | Thứ trong tuần. Vùng giá trị từ 01 đến 7, tương ứng : 1=CN, 2= Thứ 2,… |
@YDAY | Ngày hiện tại là ngày thứ bao nhiêu trong năm. Vùng giá trị từ 01 đến 366 (hoặc 365 nếu không phải năm nhuận) |
Macro thư mục
Áp dụng cho tất cả người dùng (All User). Các giá trị đọc từ : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion | |
@AppDataCommonDir | đường dẫn đến thư mục Application Data |
@DesktopCommonDir | đường dẫn đến thư mục Desktop |
@DocumentsCommonDir | đường dẫn đến thư mục Documents |
@FavoritesCommonDir | đường dẫn đến thư mục Favorites |
@ProgramsCommonDir | đường dẫn đến thư mục Start Menu’s Programs |
@StartMenuCommonDir | đường dẫn đến thư mục Start Menu |
@StartupCommonDir | đường dẫn đến thư mục Startup |
Phần này áp dụng cho người dùng hiện hành. Các giá trị đọc từ : HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion | |
@AppDataDir | đường dẫn đến thư mục Application Data của người dùng. |
@DesktopDir | đường dẫn đến thư mục Desktop của người dùng |
@MyDocumentsDir | đường dẫn đến thư mục My Document |
@FavoritesDir | đường dẫn đến thư mục Favorites |
@ProgramsDir | đường dẫn đến thư mục Programs (thư mục trên Start Menu) |
@StartMenuDir | đường dẫn đến thư mục Start Menu |
@StartupDir | đường dẫn đến thư mục Startup |
@UserProfileDir | đường dẫn đến thư mục Profile |
Phần này lấy các thông tin liên quan đến hệ thống máy tính | |
@HomeDrive | Ký tự của ổ đĩa chứa thư mục home của user |
@HomePath | Một phần đường dẫn đến thư mục home. Sử dụng thêm @HomeDrive&”\” để có đường dẫn đầy đủ |
@HomeShare | Thư mục home chứa tên Server và tên chia sẻ. |
@LogonDNSDomain | DNS Domain đã đăng nhập |
@LogonDomain | Domain đã đăng nhập. |
@LogonServer | Server đã đăng nhập |
@ProgramFilesDir | Đường dẫn đến thư mục Program Files |
@CommonFilesDir | Đường dẫn đến thư mục Common Files |
@WindowsDir | Đường dẫn đến thư mục Windows |
@SystemDir | Đường dẫn đến thư mục System của Windows (hoặc System32) |
@TempDir | Đường dẫn đến thư mục chứa các file tạm |
@ComSpec | Giá trị của %comspec%, (SPECified secondary COMmand interpreter) dùng cho command line, ví dụ : Run(@ComSpec & ” /k help | more”) |
Macro hệ thống
@CPUArch | Trả về “x86” cho CPU 32 bit và “x64” cho CPU 64 bit |
@KBLayout | Trả về mã hiển thị của bàn phím. Xem trong Appendix để biết giá trị |
@OSArch | Trả về một trong các giá trị sau : “X86”, “IA64”, “X64” – cho biết kiến trúc của hệ điều hành đang chạy. |
@OSLang | Trả về mã hiển thị của hệ điều hành. Xem trong Appendix |
@OSType | Trả về “WIN32_NT” cho Windows NT/2000/XP/2003/Vista/2008. |
@OSVersion | Trả về một trong các giá trị sau : “WIN_2008”, “WIN_VISTA”, “WIN_2003”, “WIN_XP”, “WIN_2000”. |
@OSBuild | Trả về số xây dựng của Hệ điều hành. Ví dụ, Windows 2003 Server trả về 3790 |
@OSServicePack | Gói dịch vụ của hệ điều hành dạng như “Service Pack 3” hoặc, đối với Windows 95, nó có thể trả về “B” |
@ComputerName | Tên mạng của máy tính. |
@UserName | ID của người dùng đã đăng nhập hiện hành . |
@IPAddress1 | Địa chỉ IP của card mạng thứ nhất. Có thể trả về 127.0.0.1 trên vài máy tính |
@IPAddress2 | Địa chỉ IP của card mạng thứ hai. Returns 0.0.0.0 nếu không dùng được |
@IPAddress3 | Địa chỉ IP của card mạng thứ ba. Returns 0.0.0.0 nếu không dùng được |
@IPAddress4 | Địa chỉ IP của card mạng thứ tư. Returns 0.0.0.0 nếu không dùng được |
@DesktopHeight | Chiều cao của màn hình desktop (pixel) |
@DesktopWidth | Chiều rộng của màn hình desktop (pixel) |
@DesktopDepth | Độ sâu của màn hình desktop (tính theo bit) |
@DesktopRefresh | Tần số làm tươi của màn hình, tính theo hezt (hz) |
Macro liên quan đến AutoIt
Phần này chỉ trình bày một số Macro thông dụng. Các macro còn lại các bạn tự xem.
@compiled | Trả về 1 nếu mã đã được biên dịch, ngược lại trả về 0 |
@error | Cờ biểu thị trạng thái lỗi. Xem hàm SetError |
@exitCode | Mã thoát được thiết lập bởi lệnh Exit |
@exitMethod | Xem Func OnAutoItExit() |
@extended | Một giá trị mở rộng được trả về từ một hàm. Xem hàm StringReplace |
@NumParams | Tổng số thông số đã sử dụng trong việc gọi hàm của người dùng.. |
@ScriptName | Tên của file script đang chạy |
@ScriptDir | Đường dẫn đến thư mục chứa file script đang chạy. (không chứa dấu “\” ở cuối ) |
@ScriptFullPath | Bằng với @ScriptDir & “\” & @ScriptName |
@ScriptLineNumber | Số thứ tự của dòng lệnh đang được thi hành. Thích hợp cho việc debug. |
@WorkingDir | Thư mục làm việc hiện tại (không chứa dấu “\” ở cuối) |
@AutoItExe | Đường dẫn và tên của file AutoIt đang chạy. Nếu là mã đã biên dịch thì trả về đường dẫn và tên của file exe đang chạy |
@AutoItPID | ID của đoạn chương trình script đang chạy trong bộ nhớ |
@AutoItVersion | Số phiên bản của AutoIt như 3.0.102.0 |
@AutoItX64 | Trả về 1 nếu đang chạy dưới AutoIT phiên bản x64 |
@InetGetActive | Là 1 nếu một InetGet download đã được kích hoạt, ngược lại là 0. |
@InetGetBytesRead | Suốt quá trình InetGet download, macro này cho số byte đã đọc. Cho -1 nếu có một lỗi download. |
@CR | Phím xuống dòng, Chr(13); đôi lúc hữu dụng cho các ngắt dòng |
@LF | Tín hiệu xuống dòng, Chr(10); đặc trưng cho việc ngắt dòng |
@CRLF | = @CR & @LF ; đôi lúc hữu dụng cho các ngắt dòng |
@TAB | Phím Tab, Chr(9) |