Выключение/перезагрузка компа
Declare Function ExitWindowsEx& Lib "user32" (ByVal uFlags&, ByVal wReserved&)
Global Const EWX_LOGOFF = 0 'выход из системы
Global Const EWX_SHUTDOWN = 1 ' закрытие Системы
Global Const EWX_REBOOT = 2 ' Перезагрузка
Global Const EWX_FORCE = 4 ' закрытие неактивных приложений
'на форме:
Private Sub cmdReboot_Click()
lresult = ExitWindowsEx(EWX_REBOOT, 0&)
End Sub
Значит так. На 98 этот код работает. На ХР нет, хотя раньше вроде бы на ХР тоже работал. СРОЧНО нужен работающий на ХР код для выключения/перезагрузки компа. Ну или в крайнейм случае кто может помочь, напишите на чем угодно 2-а ехе-файла, один на выключение, другой на перезагрузку компа.
Зараннее благодарен.
http://forum.codenet.ru/showthread.php?s=&threadid=14870&highlight=ExitWindowsEx
а тот чувак какой-то нервный :D
http://forum.codenet.ru/showthread.php?s=&threadid=14870&highlight=ExitWindowsEx
спасибо!
а тот чувак какой-то нервный :D
Очень компьютер наверное хотел выключить
Очень компьютер наверное хотел выключить
Могу предложить к рассмотрению сценарий на VBS:
Dim objWMIService, colOperatingSystems, objMy
Set objWMIService = GetObject("winmgmts : {impersonationLevel=impersonate,(Shutdown)}!\\.\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
mode=<одно из значений: 0,1,2,4,5,6,8,12>
For Each objMy In colOperatingSystems
objMy.Win32Shutdown(mode)
Next
Проверял его под Win 2000 Pro и Win Srv 2003 на одной и той же машине. Результаты несколько отличаются.
Для Win 2000 Pro:
0, 4 - завершение сеанса
1, 5 - выключение с сообщением "Питание компьютера можно отключить"
2, 6 - перезагрузка
8, 12 - выключение без сообщения
Для Win Srv 2003:
0, 4 - завершение сеанса
1, 5, 8, 12 - выключение без сообщения
2, 6 – перезагрузка
Под Win XP не проверял.