Home Upgrade Search Memberlist Extras Hacker Tools Award Goals Help Wiki Contact

.NET 

Basic timed computer shutdown

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]

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 Sub

Really simple code, but it does what it's supposed to do :)
Thread.sleep(time);
Shell("shutdown -s");

/Thread

I just remembered you can tell shutdown.exe arguments when to shutdown or how long to wait also...
A really cool thing would be if you had it execute a bunch of different things and shut down after they were finished, just a suggestion :P

Example: Download a file and place it in a directory and shut down 30 seconds after that.
Skype: happy.cbb
0x38E6A0912657E


Possibly Related Threads...
Thread / Author Replies Views Last Post
[Shell] by skepp4rnSep 17, 2020 02:34 PM 5 187 Sep 17, 2020 02:34 PM
Last Post: indorphin
[C] by theChiveFeb 2, 2016 07:20 PM 3 141 Feb 2, 2016 07:20 PM
Last Post: Annabelle Lee
[.NET] by KingHankApr 10, 2015 02:43 PM 6 135 Apr 10, 2015 02:43 PM
Last Post: Nikey646