jump to navigation

Shuting down Window (dengan menggunakan API) Sat - Jun 17, 2000

Posted by supriyatna in Programming, Windows.
Tags: , , ,
trackback

API (Application Programming Interface) merupakan jembatan penghubung antara Aplikasi dengan sistem Operasi, begitu banyaknya fungsi-fungsi yang ada dan sangat bermanfaat menjadikan API sebagai senjata pamungkas untuk menghasilkan program yang handal. Diantaranya adalah untuk memaksa window melakukan aksi ShutDown, contoh sederhana penggunaannya sering dijumpai apabila proses installasi selesai, biasanya program akan menanyakan apakah user akan me-Reboot ulang agar efek dari proses installasi dapat langsung nampak atau tidak?.

Yang perlu diingat adalah, dengan API setiap pendeklarasian fungsi selalu diletakkan pada level Module. Kali ini fungsi yang digunakan untuk shutdown window adalah ExitWindowsEx() terletak pada library User32.lib

Fungsi ini akan mengembalikan nilai bertipe Long. Yang mana nilainya 0 jika terjadi kegagalan dan 0 jika fungsi ini berhasil dijalankan. Parameter yang digunakan:

uFlags, Menentukan tipe dari shutdown, nilai yang dapat diberikan antara lain:

  • EWX_LOGOFF, Menghentikan seluruh proses yang berada pada konteks security dan keluar dari user yang sedang berjalan.
  • EWX_SHUTDOWN, Menghentikan seluruh proses dengan menyimpan seluruh sisa data yang masih berada di memori.
  • EWX_REBOOT, Shutdown window dan restart sistem.
  • EWX_FORCE, shutdown window tanpa menyimpan data yang masih ada dimemori. Kemungkinan terburuk adalah kehilangan data, jadi…berhati-hatilal dengan Flag ini. Gunakan apabila memang benar-benar dibutuhkan.
  • EWX_POWEROFF, shutdown sistem dan mematikan power, Flag ini berjalan jika sistem mendukung power-off.

dwReserved, Parameter cadangan (abaikan saja).

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

Public Const EWX_LOGOFF = 0
Public Const EWX_SHUTDOWN = 1
Public Const EWX_REBOOT = 2
Public Const EWX_FORCE = 4
Public Const EWX_POWEROFF = 8

Setelah mendeklarasikan fungsi ExitWindowsEx(), maka cara penggunaannya yaitu terlihat pada potongan program dibawah. Yaitu dengan memanfaatkan even Click dari Command Control yang ada pada Form.

Private Sub cmdBatal_Click()
    Unload Me
End Sub

Private Sub cmdOk_Click()
  Dim x As Long
  Dim nFlag as Long

  ' opXXX adalah OptionBox Control

  If opLogOff.Value = True Then
    nFlag = EWX_LOGOFF
  ElseIf opShutdown.Value = True Then
    nFlag = EWX_SHUTDOWN
  ElseIf opReboot.Value = True Then
    nFlag = EWX_REBOOT
  ElseIf opForce.Value = True Then
    nFlag = EWX_FORCE
  ElseIf opPowerOff.Value = True Then
    nFlag = EWX_POWEROFF
  End If
  x = ExitWindowsEx( nFlag, 0)


  ' Cek Jika terjadi kegagalan
  If x = 0 Then
    MsgBox "Shutdown tidak dapat dilanjutkan...!", _
      vbOKOnly + vbExclamation
  End If
End Sub

Comments»

No comments yet — be the first.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: