Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 480
  • Last Modified:

Shut Down win Xp vb.net 2008

i need vb.net 2008 code to shut down win xp
0
aarontham
Asked:
aarontham
1 Solution
 
drakesheCommented:
Shutdown, Restart, or Log Off your computer using VB.Net
    Private Sub btnShutdown_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnShutdown.Click
        System.Diagnostics.Process.Start("shutdown", "-s -t 00")
        'This will make the computer Shutdown
    End Sub
 
    Private Sub btnRestart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRestart.Click
        System.Diagnostics.Process.Start("shutdown", "-r -t 00")
        'This will make the computer Restart
    End Sub
 
    Private Sub btnLogOff_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogOff.Click
        System.Diagnostics.Process.Start("shutdown", "-l -t 00")
        'This will make the computer Log Off
    End Sub
 
    Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
        End
        'This will make the program to terminate(end the program)
    End Sub

Open in new window

0
 
drakesheCommented:
oh ya, forgot lol. =/
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
abelCommented:
that was blazingly fast, drakeshe!

Instead of using the shutdown.exe tool (which, iirc, is not available on older windows, but then again, older windows are rare) you can do this through Win32Shutdown method of WMI as follows, which has the benefit of being able to get information when the shutdown does not succeed:

Dim response As Single
Dim objWMIService, objComputer As Object
 
'Now get some privileges '
objWMIService = GetObject("Winmgmts:{impersonationLevel=impersonate,(Debug,Shutdown)}")
 
For Each objComputer In objWMIService.InstancesOf("Win32_OperatingSystem")
 
   ' 1 + 4 is a forced shutdown, 1 is a normal shutdown '
   response = objComputer.Win32Shutdown(1 + 4, 0)
 
   If response <> 0 Then
      MsgBox("Something wrong")
   Else
 
   End If
Next

Open in new window

0
 
abelCommented:
Tx for the grade & pts, but...

if you don't comment on why you accept one solution over another, while another is still a
viable alternative, it is a common use at EE to split the points. See the closing q. guidelines.
0
 
aaronthamAuthor Commented:
drakeshe solution don't work on win XP
0
 
abelCommented:
ah, ok. Didn't know that, tx for letting us in it ;)
0
 
drakesheCommented:
It does work on Windows XP, but perhaps you do not have proper permissions. If the methods are controlled by permissions then it may not be a good solution
0
 
abelCommented:
interesting point, but the permissions are just as needed when you use the WMI method. The only difference may be that you can interrogate the return value to find out why restarting / shutting down didn't work.

But there's something else with shutdown.exe, or with any other Process.Start. More and more restrictions are applied on starting other processes. More firewalls bug users with messages "do you allow this process X to start this other process Y". It is for the good, but sometimes it is working quite too much against us.
0
 
drakesheCommented:
I've heard of anti-viruses that disabled .exe files that aren't installed into c:\program files\*  XD
0

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now