Hi
I created this to be able to leave the pc downloading some stuff and shutdown itself after some hours. It's really basic but does the job :)
![[Image: 0ad7ad3d01b6aaacbcc5945c61a9b9d4.png]](https://i.gyazo.com/0ad7ad3d01b6aaacbcc5945c61a9b9d4.png)
Project files
Or if you just want the minimun lines of code :)
Really simple code, but it does what it's supposed to do :)
I created this to be able to leave the pc downloading some stuff and shutdown itself after some hours. It's really basic but does the job :)
![[Image: 0ad7ad3d01b6aaacbcc5945c61a9b9d4.png]](https://i.gyazo.com/0ad7ad3d01b6aaacbcc5945c61a9b9d4.png)
Project files
Or if you just want the minimun lines of code :)
Code
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'Start shutdown event
If RadioButton1.Checked = True Then
alarmtime = Date.Now.AddHours(1)
Timer4.Start()
Timer1.Interval = 3600000
Timer1.Start()
Else
End If
If RadioButton2.Checked = True Then
alarmtime = Date.Now.AddHours(2)
Timer4.Start()
Timer1.Interval = 7200000
Timer1.Start()
Else
End If
If RadioButton3.Checked = True Then
alarmtime = Date.Now.AddHours(3)
Timer4.Start()
Timer1.Interval = 10800000
Timer1.Start()
Else
End If
If RadioButton4.Checked = True Then
alarmtime = Date.Now.AddHours(4)
Timer4.Start()
Timer1.Interval = 14400000
Timer1.Start()
Else
End If
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
'Start restart event
If RadioButton1.Checked = True Then
alarmtime = Date.Now.AddHours(1)
Timer4.Start()
Timer2.Interval = 3600000
Timer2.Start()
Else
End If
If RadioButton2.Checked = True Then
alarmtime = Date.Now.AddHours(2)
Timer4.Start()
Timer2.Interval = 7200000
Timer2.Start()
Else
End If
If RadioButton3.Checked = True Then
alarmtime = Date.Now.AddHours(3)
Timer4.Start()
Timer2.Interval = 10800000
Timer2.Start()
Else
End If
If RadioButton4.Checked = True Then
alarmtime = Date.Now.AddHours(4)
Timer4.Start()
Timer2.Interval = 14400000
Timer2.Start()
Else
End If
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
'Start log-off event
If RadioButton1.Checked = True Then
alarmtime = Date.Now.AddHours(1)
Timer4.Start()
Timer3.Interval = 3600000
Timer3.Start()
Else
End If
If RadioButton2.Checked = True Then
alarmtime = Date.Now.AddHours(2)
Timer4.Start()
Timer3.Interval = 7200000
Timer3.Start()
Else
End If
If RadioButton3.Checked = True Then
alarmtime = Date.Now.AddHours(3)
Timer4.Start()
Timer3.Interval = 10800000
Timer3.Start()
Else
End If
If RadioButton4.Checked = True Then
alarmtime = Date.Now.AddHours(4)
Timer4.Start()
Timer3.Interval = 14400000
Timer3.Start()
Else
End If
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
'Abort
Process.Start("shutdown", "-a")
Timer4.Stop()
Label1.Text = ""
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
'Shutdown
Process.Start("shutdown", "-s")
Timer1.Stop()
End Sub
Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
'Restart
Process.Start("shutdown", "-r")
Timer2.Stop()
End Sub
Private Sub Timer3_Tick(sender As Object, e As EventArgs) Handles Timer3.Tick
'Logout
Process.Start("shutdown", "-l")
Timer3.Stop()
End Sub
'Timer countdown
Private alarmtime As Date
Private Sub Timer4_Tick(sender As Object, e As EventArgs) Handles Timer4.Tick
If alarmtime < Date.Now Then
Timer4.Stop()
Else
Dim remainingTime As TimeSpan = alarmtime.Subtract(Date.Now)
Label1.Text = String.Format("{0}:{1:d2}:{2:d2}", remainingTime.Hours, remainingTime.Minutes, remainingTime.Seconds)
End If
End SubReally simple code, but it does what it's supposed to do :)


