Как выключить компьютер из командной строки (из батника)? Пробую команду Shutdown с разными ключами ... винда выгружается и пишет "Теперь питание компьютера можно отключить" (Windows XP pro).
Здравствуйте B_Denis, Вы писали:
BD>Как выключить компьютер из командной строки (из батника)? Пробую команду Shutdown с разными ключами ... винда выгружается и пишет "Теперь питание компьютера можно отключить" (Windows XP pro).
...use prawil'no.... sistemu Wu wyklyuchili... ter' ostalos'toka komp wyklyuchit, dlya etogo aktiwirujte w BIOSe APM(AdwancedPowerManagement).....
i use puchkom budet.....
Ciao,
Kostya
--------------------------------------------
Владение русской орфографией — это как владение кунфу,
настоящие мастера не применяют его без необходимости.
jia>...use prawil'no.... sistemu Wu wyklyuchili... ter' ostalos'toka komp wyklyuchit, dlya etogo aktiwirujte w BIOSe APM(AdwancedPowerManagement)..... jia>i use puchkom budet.....
На самом деле нет — я попробовал.
Комп не выключается, а говорит "нажмите батон, чтобы вырубить",
даже если в биосе все впорядке.
Во кусок кода, который вырубает комп:
HANDLE hToken; // handle to process token
TOKEN_PRIVILEGES tkp; // pointer to token structure
// Get the current process token handle so we can get shutdown privilege. if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
return;
LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES) NULL, 0);
if (GetLastError() != ERROR_SUCCESS)
return;
// Вот какая-то из этих двух ф-ий выключает комп, какая-то нет
// попробуй. Еще посмотри флаги у обоих ф-ий
InitiateSystemShutdown(NULL, NULL, 0, TRUE, TRUE);
ExitWindowsEx(EWX_POWEROFF|EWX_FORCE, NULL);
Здравствуйте LA Jazz, Вы писали:
LJ>Здравствуйте jia, Вы писали:
jia>>...use prawil'no.... sistemu Wu wyklyuchili... ter' ostalos'toka komp wyklyuchit, dlya etogo aktiwirujte w BIOSe APM(AdwancedPowerManagement)..... jia>>i use puchkom budet.....
LJ>На самом деле нет — я попробовал. LJ>Комп не выключается, а говорит "нажмите батон, чтобы вырубить", LJ>даже если в биосе все впорядке.
LJ>Во кусок кода, который вырубает комп: LJ> ...
Спасибо, конечно, но хотелось бы выключать именно системными средствами, в смысле из батника .
:???:
Здравствуйте B_Denis, Вы писали:
BD>Как выключить компьютер из командной строки (из батника)? Пробую команду Shutdown с разными ключами ... винда выгружается и пишет "Теперь питание компьютера можно отключить" (Windows XP pro).
А что-нибудь вроде не пробовал?
dim OpSysSet, obj
Set OpSysSet = GetObject("winmgmts:{impersonationLevel=impersonate," & _
"(Shutdown)}//./root/cimv2").ExecQuery _
("SELECT * FROM Win32_OperatingSystem" &_
" WHERE Primary=true")
For Each obj In OpSysSet
obj.Win32Shutdown(8)
Next
P.S. Этот код засунуть в vbs файл и запустить.
Запускать можно и из батника: cscript.exe MyFile.vbs
Re[2]: Выклюить компьютер???
От:
Аноним
Дата:
08.08.02 08:43
Оценка:
Здравствуйте Konstantin Sokolovskiy, Вы писали:
KS>А что-нибудь вроде не пробовал? KS>
KS>dim OpSysSet, obj
KS>Set OpSysSet = GetObject("winmgmts:{impersonationLevel=impersonate," & _
KS> "(Shutdown)}//./root/cimv2").ExecQuery _
KS> ("SELECT * FROM Win32_OperatingSystem" &_
KS> " WHERE Primary=true")
KS>For Each obj In OpSysSet
KS> obj.Win32Shutdown(8)
KS>Next
KS>
KS>P.S. Этот код засунуть в vbs файл и запустить. KS>Запускать можно и из батника: cscript.exe MyFile.vbs