Sebuah solusi sederhana akan menulis sebuah Otomatis program yang mencoba untuk melakukan ping ke resolver penyedia layanan internet Anda. Ini adalah satu-satunya cara yang benar untuk mendeteksi apakah Anda "terhubung" ke internet atau tidak, karena tidak selalu dapat diandalkan untuk melakukan ping ke situs web pihak ketiga.
Saya akan mengaturnya untuk melakukan ping setiap menit, dan jika tidak ada respons yang diterima selama 5 menit, matikan komputer (atau setel ke mode tidur). Untungnya, AutoIt memiliki built-in Ping()
dan Sleep()
fungsi.
Script sederhana akan terlihat seperti berikut:
Local $i = 0
While $i < 5 ; Looping until we hit 5 attempts...
If Ping("12.34.56.78", 10000) == 0 Then ; If we couldn't ping...
$i = $i + 1 ; Increment the counter.
Else ; Else, if we could,
$i = 0 ; Reset the counter.
EndIf
Sleep(60000) ; Finally, loop every minute.
WEnd
; If the script gets here, we missed 5 pings - take action.
Shutdown(32) ; See the Shutdown() documentation, this makes the PC sleep.
; http://autoitscript.com/autoit3/docs/functions/Shutdown.htm
Sebelum Anda menjalankan komputer dalam semalam, Anda bisa menjalankan skrip di atas. Untuk terus menggunakan komputer Anda secara normal, cukup tutup skrip.
Penafian: Saya belum menguji kode ini (saya menulisnya dengan cepat di Notepad ++), tetapi kelihatannya layak.
ping
perintah.