Visual Basic – 5 zanimljivih API trikova (III deo)

Prelazimo na drugi primer upotrebe Windows API funkcija, koji je vezan za proces „spuštanja“ (Shut Down) operativnog sistema. Funkcija ili rutina koju ćemo kreirati vrlo je zgodna, pa je možete implementirati u gotovo sve vaše programe. Naročito je dobra kada testirate aplikacije ili hardver, kada vam treba brzi Shut Down sistema.

Ovaj zadatak će za nas odraditi API funkcija ExitWindowsEx. Kao i prethodna, i ova funkcija ima višestruku ulogu. Uz pomoć nje možete „odlogovati“ (log-off) korisnika, restartovati sistem ili izvršiti Shut Down sistema. Kao što već znamo, prvo ide deklaracija:


Private Declare Function ExitWindowsEx Lib
"user32" (ByVal uFlags As Long,
ByVal dwReserved _
As Long) As Long

Argument uFlags usmerava funkciju ExitWindowsEx na to šta ona treba da odradi. Za potrebe ove rutine kreiraćemo nekoliko konstanti:


Private Const EWX_LOGOFF = 0
Private Const EWX_SHUTDOWN = 1
Private Const EWX_REBOOT = 2
Private Const EWX_FORCE = 4
Private Const EWX_POWEROFF As Long = 8
Private Const EWX_RESET = EWX_LOGOFF
+ EWX_FORCE + EWX_REBOOT

I konačno, evo primera rutine sa svim trima navedenim upotrebama ove funkcije:


Sub LogOff()
Dim X As Long
X = ExitWindowsEx(EWX_LOGOFF, 0)
End Sub

Sub Restart()
Dim X As Long
X = ExitWindowsEx(EWX_RESET, 0)
End Sub

Sub ShutDown()
Dim X As Long
X = ExitWindowsEx(EWX_SHUTDOWN, 0)
End Sub

I to je to. Ovu rutinu možete ugraditi u instalacione procedure vaših aplikacija koje zahtevaju restartovanje sistema.

Pratite Krstaricu na www.krstarica.com