Bagikan melalui


Mematikan

Ada tiga cara agar aplikasi mematikan komputer lokal atau jarak jauh:

  • mematikan sistem
  • matikan sistem dan hidupkan ulang
  • mematikan aplikasi, mematikan dan menghidupkan ulang sistem, dan menghidupkan ulang aplikasi apa pun yang telah didaftarkan untuk memulai ulang

Untuk mematikan sistem, gunakan fungsi ExitWindowsEx dengan bendera EWX_SHUTDOWN. Misalnya, lihat Cara Mematikan Sistem. Untuk mematikan dan memulai ulang sistem, gunakan bendera EWX_REBOOT. Untuk memulai ulang aplikasi apa pun yang telah didaftarkan untuk memulai ulang menggunakan fungsi RegisterApplicationRestart , gunakan bendera EXW_RESTARTAPPS.

Fungsi InitiateShutdown, InitiateSystemShutdown, dan InitiateSystemShutdownEx memulai timer dan menampilkan kotak dialog yang meminta pengguna untuk keluar. Saat kotak dialog ini ditampilkan, fungsi AbortSystemShutdown dapat menghentikan timer dan mencegah komputer dimatikan. Namun, jika timer kedaluwarsa, komputer akan dimatikan. Fungsi-fungsi ini juga dapat menghidupkan ulang komputer setelah operasi matikan. Untuk informasi selengkapnya, lihat Menampilkan Kotak Dialog Matikan.

Pemberitahuan Matikan

Aplikasi dengan jendela dan antrean pesan menerima pemberitahuan matikan melalui pesan WM_QUERYENDSESSION dan WM_ENDSESSION . Aplikasi ini harus mengembalikan TRUE untuk menunjukkan bahwa aplikasi tersebut dapat dihentikan. Aplikasi tidak boleh memblokir pematian sistem kecuali benar-benar diperlukan. Aplikasi harus melakukan pembersihan yang diperlukan saat memproses WM_ENDSESSION. Aplikasi yang memiliki data yang belum disimpan dapat menyimpan data ke lokasi sementara dan memulihkannya saat aplikasi dimulai lagi. Disarankan agar aplikasi sering menyimpan data dan statusnya; misalnya, secara otomatis menyimpan data antara operasi penyimpanan yang dimulai oleh pengguna untuk mengurangi jumlah data yang akan disimpan saat dimatikan.

Aplikasi konsol menerima pemberitahuan matikan dalam rutinitas handler mereka. Untuk mendaftarkan handler konsol, gunakan fungsi SetConsoleCtrlHandler .

Aplikasi layanan menerima pemberitahuan matikan dalam rutinitas handler mereka. Untuk mendaftarkan handler kontrol layanan, gunakan fungsi RegisterServiceCtrlHandlerEx .

Memblokir Pematian

Jika aplikasi harus memblokir potensi pematian sistem, aplikasi dapat memanggil fungsi ShutdownBlockReasonCreate . Pemanggil menyediakan string alasan yang akan ditampilkan kepada pengguna. String alasan harus pendek dan jelas, memberi pengguna informasi yang diperlukan untuk memutuskan apakah akan terus mematikan sistem.

Cara Mematikan Sistem