Auto Reboot for Windows XP/7/10

Auto Reboot Application

Last night I just know if make task scheduler on Windows XP is just different matter from Windows 7 or Windows 10. On other Windows (7/10) it just create simple task scheduler for reboot/shutdown computer at certain time. So I decided to create little application under VB6 to do the task reboot in force mode (every morning at 5 AM) of my Windows XP pc that I use for RF-LINK RoIP.

If you want to use this application, just create shorcut and put in Startup Folder, so the application will run automatically when Windows starting up. Download here.

Here is my tiny code (tested on Windows XP/7/10):

Option Explicit
 Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
 Private Declare Function GetWindow Lib "user32" (ByVal hWnd As Long, ByVal wCmd As Long) As Long
 Private Declare Function OpenIcon Lib "user32" (ByVal hWnd As Long) As Long
 Private Declare Function SetForegroundWindow Lib "user32" (ByVal hWnd As Long) As Long
 Const GW_HWNDPREV = 3

 Private Sub Command1_Click()
     Form1.WindowState = 1
 End Sub

 Private Sub Command2_Click()
     Keluar
 End Sub

 Private Sub Command3_Click()
     Dim answer
     answer = MsgBox("Are you sure you want to reboot now?", vbCritical + vbYesNo, "Warning")
     If answer = vbYes Then
         RestartWindows
     End If
 End Sub

 Private Sub Form_Load()
     If App.PrevInstance Then SHOWPREVINSTANCE
 End Sub

 Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
     If UnloadMode = vbFormControlMenu Then Cancel = True
 End Sub

 Private Sub Form_Unload(Cancel As Integer)
     Set Form1 = Nothing
 End Sub

 Private Sub Timer1_Timer()
     Label1.Caption = Format(Now, "dd-mm-yyyy HH:mm:ss")
     'Label1.Caption = Format(Time, "hh:mm:ss")
     If Format(Time, "HH:mm:ss") = "05:00:00" Then
         RestartWindows
     End If
 End Sub

 Private Sub Keluar()
     Dim answer
     answer = MsgBox("Are you sure you want to exit?", vbCritical + vbYesNo, "Warning")
     If answer = vbYes Then
         Unload Me
     End If
 End Sub

 Private Sub SHOWPREVINSTANCE()
     Dim OldTitle As String
     Dim ll_WindowHandle As Long
     OldTitle = App.Title
     App.Title = "Aplikasi ini akan ditutup!"
     ll_WindowHandle = FindWindow("ThunderRT6Main", OldTitle)
     If ll_WindowHandle = 0 Then Exit Sub
     ll_WindowHandle = GetWindow(ll_WindowHandle, GW_HWNDPREV)
     Call OpenIcon(ll_WindowHandle)
     Call SetForegroundWindow(ll_WindowHandle)
     End
 End Sub

 Private Sub RestartWindows()
     If Dir("C:\WINDOWS\RUNDLL.EXE") <> "" Then
         Shell "C:\WINDOWS\RUNDLL.EXE user.exe,exitwindows"
     Else
         Shell "SHUTDOWN -r -f -t 01"
     End If
 End Sub

Tinggalkan komentar

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.