AutoIt/Inne użyteczne funkcje

Audio edytuj

Beep edytuj

Beep ( [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 edytuj

SoundPlay ( "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 edytuj

SoundSetWaveVolume ( 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 edytuj

DriveGetDrive edytuj

DriveGetDrive ( "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 edytuj

DriveGetType ( "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 edytuj

DriveGetFileSystem ( "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 edytuj

DriveGetLabel ( "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 edytuj

DriveSetLabel ( "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 edytuj

DriveGetSerial ( "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 edytuj

DriveSpaceFree ( "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 edytuj

DriveSpaceTotal ( "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 edytuj

DriveStatus ( "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 edytuj

DriveMapAdd ( "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 edytuj

DriveMapDel ( "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 edytuj

DriveMapGet ( "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 edytuj

CDTray ( "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 edytuj

ClipGet edytuj

ClipGet ( )

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 edytuj

ClipPut ( "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 edytuj

EnvGet edytuj

EnvGet ( "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 edytuj

EnvSet ( "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 edytuj

EnvUpdate ( )

Funkcja odświeża wartości zmiennych środowiskowych. Jeżeli wystąpił błąd makro @error zawiera jego błędu.


MemGetStats edytuj

MemGetStats ( )

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 edytuj

TimerInit edytuj

TimerInit ( )

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 edytuj

TimerDiff ( 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" )