AutoIt/Inne użyteczne funkcje
Audio
edytujBeep
edytujBeep ( [częstotliwość [, trwanie]] )
Funkcja powoduje wygenerowanie sygnału dźwiękowego. Zawsze zwraca 1.
Parametry (oba opcjonalne):
częstotliwość - częstotliwość dźwięku w Hz, zakres od 37 do 32767 Hz (0x25 - 0x7FFF), domyślnie 500 Hz.
trwanie - długość trwania dźwięku w ms, domyślnie 1000 ms.
Przykład:
Beep(500, 500)
Beep(400, 500)
Beep(300, 1000)
SoundPlay
edytujSoundPlay ( "nazwa_pliku" [, flaga] )
Funkcja odtwarza plik dźwiękowy w formacie WAV lub MP3.
"nazwa_pliku" - nazwa odtwarzanego pliku dźwiękowego.
flaga - (opcjonalnie) określa czy wykonanie skryptu ma być wstrzymane na czas odtwarzania dźwięku, 0 (domyślnie) - nie, 1 - tak.
UWAGA: Jeżeli jako nazwę pliku podamy string pusty, to odtwarzanie zostanie przerwane.
SoundSetWaveVolume
edytujSoundSetWaveVolume ( procent )
Funkcja ustawia głośność odtwarzanie dźwięku WAV. Zwraca 1 gdy sukces, lub 0 gdy wystąpił błąd.
procent - głośność odtwarzania dźwięku w procentach maksymalnej głośności (zakres: 0 - 100).
Funkcja nie może być użyta do zmiany głośności WAV w innych programach (tylko skryptu).
Przykład:
SoundSetWaveVolume(25)
SoundPlay(@WindowsDir & "\media\tada.wav", 1)
SoundSetWaveVolume(50)
SoundPlay(@WindowsDir & "\media\tada.wav", 1)
SoundSetWaveVolume(75)
SoundPlay(@WindowsDir & "\media\tada.wav", 1)
SoundSetWaveVolume(100)
SoundPlay(@WindowsDir & "\media\tada.wav", 1)
Dyski
edytujDriveGetDrive
edytujDriveGetDrive ( "typ" )
Funkcja zwraca tablicę literowych nazw znalezionych dysków, lub pusty string gdy wystąpił błąd (makro @error przyjmuje wartość 1).
"typ" - rodzaj poszukiwanego dysku:
ALL - wszystkie dyski CDROM - napędy CD/DVD REMOVABLE - wymienne FIXED - wewnętrzne NETWORK - sieciowe RAMDISK - RAM-dyski UNKNOWN - niezidentyfikowane
UWAGA: Element tablicy [0] zawiera ilość odnalezionych dysków, następne - kolejne literowe nazwy dysków, łącznie ze znakiem dwukropka, np. "c:".
DriveGetType
edytujDriveGetType ( "nazwa" [, operacja = 1 ] )
Funkcja zwraca typ dysku o podanej nazwie, lub pusty string gdy wystąpił błąd (makro @error przyjmuje wartość 1).
dla operacja = 1 "CDROM" - napęd CD/DVD "REMOVABLE" - dysk wymienny "FIXED" - dysk wewnętrzny "NETWORK" - dysk sieciowy "RAMDISK" - RAM-dysk "UNKNOWN" - niezidentyfikowany dla operacja = 2 "SSD" - dysk zainstalowany "" - brak dysku (pusty string) dla operacja = 3 "SCSI", "ATAPI", "ATA", "1394", "SSA", "Fibre", "USB", "RAID", "iSCSI" "SAS", "SATA", "SD", "MMC", "Virtual", "FileBackedVirtual" "UNKNOWN" - niezidentyfikowany
UWAGA: Lista możliwych zwracanych wartości może być niekompletna.
"nazwa" - literowa nazwa dysku, np.: "C:" lub "C:\".
operacja - (opcjonalnie) rodzaj zwracanej informacji: 1 (wartość domyślna) - rodzaj napędu, 2 - stan dysku SSD, 3 - rodzaj interfejsu napędu
Przykład (wyświetlenie wszystkich nazw i typów znalezionych dysków):
$aDrv = DriveGetDrive("ALL")
$sTxt = "Znalezione dyski:" & @LF & "-----------------------"
For $i = 1 To $aDrv[0]
$sTxt &= @LF & $aDrv[$i] & @TAB & DriveGetType($aDrv[$i])
Next
MsgBox(4096, "Test:", $sTxt)
DriveGetFileSystem
edytujDriveGetFileSystem ( "nazwa" )
Funkcja zwraca system plików dysku o podanej nazwie. Gdy wystąpił błąd makro @error przyjmuje wartość 1.
1 (liczba) - brak nośnika (CD, dyskietka, ZIP) lub nośnik niesformatowany FAT FAT32 NTFS NWFS - system plików na serwerach Novell Netware CDFS - zazwyczaj CD lub obraz ISO zamontowany jako wirtualny napęd CD UDF - zazwyczaj DVD
"nazwa" - literowa nazwa dysku, np.: "C:" lub "C:\".
Przykład (rodzaj systemu plików na dysku z folderem domowym):
$sFileSystem = DriveGetFileSystem(@HomeDrive)
MsgBox(4096, "System plików:", "Dysk systemowy " & @HomeDrive & " " & $sFileSystem)
DriveGetLabel
edytujDriveGetLabel ( "nazwa" )
Funkcja zwraca etykietę dysku o podanej nazwie. Gdy wystąpił błąd makro @error przyjmuje wartość 1.
"nazwa" - literowa nazwa dysku, np.: "C:" lub "C:\".
DriveSetLabel
edytujDriveSetLabel ( "nazwa", "etykieta" )
Funkcja nadaje etykietę dyskowi o podanej nazwie. Zwraca 1 gdy sukces, lub 0 gdy wystąpił błąd.
"nazwa" - literowa nazwa dysku, np.: "C:" lub "C:\".
Przykład:
$sOld = DriveGetLabel("C:")
MsgBox(0, "Test:", "Stara nazwa dysku C: -> " & $sOld)
DriveSetLabel("C:", "To jest nowa etykieta dysku")
MsgBox(0, "Test:", "Nowa nazwa dysku C: -> " & DriveGetLabel("C:"))
DriveSetLabel("C:", $sOld) ;odtworzenie pierwotnej etykiety
DriveGetSerial
edytujDriveGetSerial ( "nazwa" )
Funkcja zwraca numer seryjny dysku o podanej nazwie. Gdy wystąpił błąd makro @error przyjmuje wartość 1.
"nazwa" - literowa nazwa dysku, np.: "C:" lub "C:\".
UWAGA: Zwracany numer nie jest numerem dysku fizycznego (znajdującym się na etykiecie napędu), lecz numerem ID woluminu nadawanym przez system Windows.
Przykład:
MsgBox(4096, "Test:", "Nr dysku C: -> " & DriveGetSerial("C:"))
DriveSpaceFree
edytujDriveSpaceFree ( "nazwa" )
Funkcja zwraca ilość megabajtów wolnej pojemności dysku o podanej nazwie, lub 0 gdy wystąpił błąd (makro @error przyjmuje wartość 1).
"nazwa" - literowa nazwa dysku, np.: "C:" lub "C:\", ale można podać także pełną ścieżkę do katalogu lub pliku np.: "C:\windows\".
Przykład (ilość wolnej pojemności na dysku z katalogiem systemowym Windows):
$iFreeSpace = DriveSpaceFree(@WindowsDir)
MsgBox(0, "Wolne:", $iFreeSpace & " MB")
DriveSpaceTotal
edytujDriveSpaceTotal ( "nazwa" )
Funkcja zwraca ilość megabajtów całkowitej pojemności dysku o podanej nazwie, lub 0 gdy wystąpił błąd (makro @error przyjmuje wartość 1).
"nazwa" - literowa nazwa dysku, np.: "C:" lub "C:\", ale można podać także pełną ścieżkę do katalogu lub pliku np.: "C:\windows\".
Przykład:
$iTotalSpace = DriveSpaceTotal(@WindowsDir)
MsgBox(0, "Całkowita pojemność dysku systemowego:", $iTotalSpace & " MB")
DriveStatus
edytujDriveStatus ( "nazwa" )
Funkcja zwraca string ze statusem dysku.
"nazwa" - literowa nazwa dysku, np.: "C:" lub "C:\".
Przykład (status dysku systemowego):
$sStatus = DriveStatus(@HomeDrive)
MsgBox(0, "Status dysku:", @HomeDrive & " -> " & $sStatus)
DriveMapAdd
edytujDriveMapAdd ( "nazwa", "zdalny_udział" [, flaga [, "użytkownik" [, "hasło"]]] )
Funkcja mapuje dyski sieciowe. Zwraca 1 gdy sukces, lub 0 gdy wystąpił błąd.
Jeżeli wystąpił błąd makro @error przyjmuje jedną z następujących wartości:
1 = inne błędy, makro @extended ustawiane przez Windows API 2 = odmowa dostępu do zdalnego udziału 3 = urządzenie jest już przypisane 4 = niepoprawna nazwa urządzenia 5 = nieprawidłowa zdalna akcja 6 = nieprawidłowe hasło
"nazwa" - nazwa urządzenia na komputerze zdalnym np.: "X:", "LPT1:". Jeśli przekażemy pusty string to połączenie jest nawiązywane, ale nie przypisane do konkretnego napędu. Jeżeli podamy jako "*" to automatycznie zostanie przypisana niewykorzystana litera napędu.
"zdalny_udział" - zdalny udział do mapowania w formacie: "\\nazwa_serwera\nazwa_udziału".
Pozostałe parametry opcjonalne:
"flaga" - 0 (domyślne), 1 = trwałe mapowanie, 8 = pokaż okno dialogowe uwierzytelniania (w razie potrzeby).
"użytkownik" - nazwa użytkownika w postaci "nazwa_użytkownika" lub "nazwa_domen\nazwa_użytkownika".
"hasło" - hasło do połączenia (o ile jest wymagane).
Przykład:
DriveMapAdd("X:", "\\Masta\d")
DriveMapDel
edytujDriveMapDel ( "nazwa" )
Funkcja odłącza mapowany dysk sieciowy. Zwraca 1 gdy sukces, lub 0 gdy wystąpił błąd.
"nazwa" - literowa nazwa odłączanego dysku sieciowego, np.: "X:".
UWAGA: Jeżeli połączenie nie posiada literowej nazwy dysku, to do rozłączenia można użyć nazwy samego połączenia, np.: "\\serwer\udział".
Przykład:
DriveMapDel("X:")
DriveMapGet
edytujDriveMapGet ( "nazwa" )
Funkcja zwraca nazwę mapowanego zdalnego udziału w formacie: "\\nazwa_serwera\nazwa_udziału", lub string pusty gdy wystąpił błąd (makro @error przyjmuje wartość 1).
"nazwa" - literowa nazwa mapowanego dysku sieciowego, np.: "X:".
Przykład:
MsgBox(0, "Test:", "X: jest mapowane do -> " & DriveMapGet("X:"))
CDTray
edytujCDTray ( "napęd", "status" )
Funkcja powoduje zamknięcie lub otwarcie napędu CD/DVD. Zwraca 1 gdy sukces, lub 0 gdy wystąpił błąd (napęd jest programowo zabezpieczony lub nie jest napędem CD/DVD).
"napęd" - nazwa napędu CD/DVD w formacie np.: "E:".
"status" - "open" - otwarcie napędu, "close" - zamknięcie napędu.
UWAGA: CDTray działa także z wirtualnymi napędami CD/DVD, np. DAEMON Tools. CDTray nie działa na sieciowych napędach CD/DVD, musi być uruchamiany na komputerze, w którym jest sterowany napęd.
Przykład:
CDTray("H:", "open")
Sleep(2000)
CDTray("H:", "close")
Schowek systemowy
edytujClipGet
edytujClipGet ( )
Funkcja zwraca tekst ze schowka systemowego.
Jeżeli wystąpił błąd makro @error przyjmuje wartość:
1 - schowek jest pusty 2 - schowek zawiera dane nie będące tekstem 3 lub 4 - brak dostępu do schowka
Jeżeli w schowku znajdują się pliki (foldery), to funkcja zwraca nazwy wszystkich plików (folderów), łącznie ze ścieżką dostępu, rozdzielone znakami nowego wiersza (@LF).
ClipPut
edytujClipPut ( "txt" )
Funkcja zapisuje tekst do schowka. Zwraca 1 gdy sukces, lub 0 gdy wystąpił błąd.
"txt" - tekst zapisywany do schowka
UWAGA: Tekst wprowadzany zastępuje poprzednią zawartość schowka. Jeżeli wprowadzimy string pusty "" to zawartość schowka zostanie wyczyszczona.
Przykład:
;zapis do schowka
ClipPut("Test obsługi schowka systemowego." & @LF & _
"Wszystko działa prawidłowo!")
MsgBox(0,"Wprowadzenie tekstu do schowka","")
;odczyt ze schowka
$sTxt = ClipGet()
MsgBox(0, "Zawartość schowka:", $sTxt)
System
edytujEnvGet
edytujEnvGet ( "zmienna_systemowa" )
Funkcja zwraca zmienną środowiskową o podanej nazwie lub pusty string gdy zmienna nie istnieje.
"zmienna_systemowa" - nazwa zmiennej środowiskowej, np.: "TEMP", "PATH", "COMSPEC", itp.
Przykład:
MsgBox(0, "Zmienne PATH ma wartość:", EnvGet("PATH"))
EnvSet
edytujEnvSet ( "zmienna_systemowa" [, "wartość"] )
Funkcja ustawia wartość zmiennej środowiskowej o podanej nazwie. Zwraca wartość różną od zera gdy sukces, lub 0 gdy wystąpił błąd.
"zmienna_systemowa" - nazwa zmiennej środowiskowej, np.: "TEMP", "PATH", "WINDIR".
"wartość" - wartość zmiennej środowiskowej, jeżeli nie użyto to zmienna środowiskowa zostanie usunięta.
UWAGA: Tak stworzona wartość zmiennej środowiskowej jest dostępna jedynie z poziomu skryptu AutoIt.
Za pomocą EnvSet można także utworzyć nowe zmienne systemowe.
Przykład:
EnvSet( "MOJA_ZMIENNA", "To jest test tworzenia zmiennej środowiskowej!")
MsgBox(0, "Nowa zmienna środowiskowa ma wartość:", EnvGet("MOJA_ZMIENNA"))
EnvUpdate
edytujEnvUpdate ( )
Funkcja odświeża wartości zmiennych środowiskowych. Jeżeli wystąpił błąd makro @error zawiera jego błędu.
MemGetStats
edytujMemGetStats ( )
Funkcja zwraca informacje o pamięci operacyjnej w postaci 6-elementowej tablicy (wartości w kilobajtach).
[0] = Obciążenie pamięci (Procent pamięci w użyciu)
[1] = Całkowita fizyczna pamięć RAM
[2] = Dostępna fizyczna pamięć RAM
[3] = Całkowita wielkość pliku stronicowania
[4] = Dostępna wielkość pliku stronicowania
[5] = Całkowita wielkość pamięci wirtualnej
[6] = Dostępna wielkość pamięci wirtualnej
Przykład:
$aMem = MemGetStats()
MsgBox(0, "RAM:", $aMem[1] & " KB")
Timer
edytujTimerInit
edytujTimerInit ( )
Funkcja zwraca uchwyt, który może być przekazany do TimerDiff celem obliczenia różnicy czasu w ms. Zwrócony uchwyt nie może być wykorzystywany w innych funkcjach niż TimerDiff, gdyż grozi to wystąpieniem błędu.
TimerDiff
edytujTimerDiff ( handle )
Funkcja zwraca czas w ms jaki upłynął od wywołania funkcji TimerInit, której uchwyt został podany jako parametr.
Przykład:
$hStart = TimerInit() ;inicjacja timera
MsgBox(0,"Test timera:", "Proszę czekać",3)
$iTD = TimerDiff($hStart) ;koniec odliczania czasu
MsgBox(0, "Test timera:", "Upłynęło " & $iTD & " ms" )