[Dllimport ("user32.dll", entrypoint = "exitwindowsex", charset = charset. ANSI)]
Private Static extern int exitwindowsex (INT uflags, int dwreserved );
// Log out of the computer
Public void logout ()
{
Exitwindowsex (0, 0); // call API implementation
}
// Shut down the computer (implemented using the CMD command)
Public void closepc ()
{
// Create an object instance for access control of local system processes
System. Diagnostics. Process myprocess = new system. Diagnostics. Process ();
Myprocess. startinfo. filename = "cmd.exe ";
Myprocess. startinfo. useshellexecute = false;
Myprocess. startinfo. redirectstandardinput = true;
Myprocess. startinfo. redirectstandardoutput = true;
Myprocess. startinfo. redirectstandarderror = true;
Myprocess. startinfo. createnowindow = true;
Myprocess. Start ();
Myprocess. standardinput. writeline ("shutdown-s-t 0 ");
}
// Restart the computer (run the CMD command)
Public void afreshstartpc ()
{
// Create an object instance for access control of local system processes
System. Diagnostics. Process myprocess = new system. Diagnostics. Process ();
Myprocess. startinfo. filename = "cmd.exe ";
Myprocess. startinfo. useshellexecute = false;
Myprocess. startinfo. redirectstandardinput = true;
Myprocess. startinfo. redirectstandardoutput = true;
Myprocess. startinfo. redirectstandarderror = true;
Myprocess. startinfo. createnowindow = true;
Myprocess. Start ();
Myprocess. standardinput. writeline ("shutdown-r-t 0 ");
}