I have another API way to reboot and shutdown, although it has a problem, I don't know what.
private enum SetSystemPowerStateAction
{
POWER_STATE_ON = 0x00010000,
POWER_STATE_OFF = 0x00020000,
POWER_STATE_SUSPEND = 0x00200000,
POWER_FORCE = 4096,
POWER_STATE_RESET = 0x00800000
}
[DllImport ("coredll.dll", SetLastError = true)]
static extern int SetSystemPowerState (string psState, int StateFlags, int Options);
// off off
// although not sure why it is REBOOTS
SetSystemPowerState (null, (int) SetSystemPowerStateAction.POWER_STATE_OFF, (int) SetSystemPowerStateAction.POWER_FORCE);
// to restart
SetSystemPowerState (null, (int) SetSystemPowerStateAction.POWER_STATE_RESET, (int) SetSystemPowerStateAction.POWER_FORCE);
jaysonragasa
source share