Witam,
Restart można zrobić tak:
//http://msdn.microsoft.com/en-us/library/aa394058(VS.85).aspx
// Win32Shutdown Method of the Win32_OperatingSystem Class
// The Win32Shutdown WMI class method provides the full set of shutdown options supported by Win32 operating systems. These include logoff, shutdown, reboot, and forcing a logoff, shutdown, or reboot. The calling process must have the SE_SHUTDOWN_NAME privilege.
// Windows NT 4.0 and Windows Me/98/95: SE_SHUTDOWN_NAME privilege is not required.
//This topic uses Managed Object Format (MOF) syntax. For more information about using this method, see Calling a Method.
//Syntax:
//uint32 Win32Shutdown(
// sint32 Flags,
// sint32 Reserved
//);
//Parameters:
//- Flags:
// Bitmapped set of flags to shut the computer down. To force a command, add the Force flag (4) to the command value. Using Force in conjunction with Shutdown or Reboot on a remote computer immediately shuts down everything (including WMI, COM, and so on), or reboots the remote computer. This results in an indeterminate return value.
// Value Meaning
// 0 0x0 Log Off
// 4 0x4 Forced Log Off (0 + 4)
// 1 0x1 Shutdown
// 5 0x5 Forced Shutdown (1 + 4)
// 2 0x2 Reboot
// 6 0x6 Forced Reboot (2 + 4)
// 8 0x8 Power Off
// 12 0xC Forced Power Off (8 + 4)
//- Reserved
// A means to extend Win32Shutdown. Currently, the Reserved parameter is ignored.
public System.UInt32 ForceReboot()
{
System.Management.ManagementBaseObject inParams = PrivateLateBoundObject.GetMethodParameters("Win32Shutdown");
inParams[ "Flags" ] = "6"; // System forced reboot
inParams[ "Reserved" ] = "0";
bool EnablePrivileges = PrivateLateBoundObject.Scope.Options.EnablePrivileges;
PrivateLateBoundObject.Scope.Options.EnablePrivileges = true;
System.Management.ManagementBaseObject outParams = PrivateLateBoundObject.InvokeMethod( "Win32Shutdown", inParams, null );
PrivateLateBoundObject.Scope.Options.EnablePrivileges = EnablePrivileges;
return System.Convert.ToUInt32( outParams.Properties[ "ReturnValue" ].Value );
}
}
A zamknięcie podobnie tylko inne parametry (flagi) ;)
Pozdrawiam,
Maciek
http://maciej-progtech.blogspot.com/
Zaloguj się, aby dodać swoją odpowiedź