Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
ilya Гость
|
Добавлено: Пт Фев 01 2002 11:19 Заголовок сообщения: Каа програмно сделать reset PC из С++ при OS Windows 2000 |
|
|
ExitWindowsEx(EWX_FORCE | EWX_REBOOT,dwReserved); работает только на WIN 95/98 Может у кого то есть пример? Спасибо!! |
|
Вернуться к началу |
|
|
Alexy
Зарегистрирован: 22.10.2003 Сообщения: 48
|
Добавлено: Пт Фев 01 2002 11:27 Заголовок сообщения: Re: Каа програмно сделать reset PC из С++ при OS Windows 2000 |
|
|
Попробуй это:
EWX_FORCEIFHUNG Windows NT 5.0 and later: Forces processes to terminate if they do not respond to the WM_QUERYENDSESSION or WM_ENDSESSION message. This flag is ignored if EWX_FORCE is used. |
|
Вернуться к началу |
|
|
Vasyl Гость
|
Добавлено: Пт Фев 01 2002 15:52 Заголовок сообщения: Re: Каа програмно сделать reset PC из С++ при OS Windows 2000 |
|
|
попробуй ето (в console application) перед запуском не забудь сохранится
#include #include
int main(void) { while (1) printf("\t\t\b\b\b\b\b\b");
return 0; } |
|
Вернуться к началу |
|
|
ilya Гость
|
Добавлено: Пт Фев 01 2002 18:47 Заголовок сообщения: Re: Каа програмно сделать reset PC из С++ при OS Windows 2000 |
|
|
Не понял.... Ну может через полчаса это и повесит РС... |
|
Вернуться к началу |
|
|
Vasyl Гость
|
Добавлено: Пт Фев 01 2002 19:31 Заголовок сообщения: Re: Каа програмно сделать reset PC из С++ при OS Windows 2000 |
|
|
А ти попробуй, работает ЖЕЛЕЗНО на W2K, проверял. Процесс должен бьіть консольньім.
PS. Настоятельно рекомендую сохранится перед запуском. |
|
Вернуться к началу |
|
|
яяя Гость
|
Добавлено: Вс Фев 03 2002 01:02 Заголовок сообщения: работает м под 2000, просто пишешь неправильно (+) |
|
|
Перед вызовом ExitWindowsEx надо запросить превилегию выхода из системы. Тогда все получится. |
|
Вернуться к началу |
|
|
ilya Гость
|
Добавлено: Вс Фев 03 2002 11:54 Заголовок сообщения: Re: работает м под 2000, просто пишешь неправильно (+) |
|
|
А как это делается???? |
|
Вернуться к началу |
|
|
яяя Гость
|
Добавлено: Вс Фев 03 2002 19:51 Заголовок сообщения: Re: работает м под 2000, просто пишешь неправильно (+) |
|
|
procedure RebootSystem; var
handle, ph: THandle; pid, n: DWORD; luid: TLargeInteger; priv: TOKEN_PRIVILEGES; dummy: PTokenPrivileges; ver: TOSVERSIONINFO; begin
ver.dwOSVersionInfoSize := Sizeof(ver); GetVersionEx(ver); if ver.dwPlatformId=VER_PLATFORM_WIN32_NT then begin pid := GetCurrentProcessId; if OpenProcessToken(ph, TOKEN_ADJUST_PRIVILEGES, handle) then if LookupPrivilegeValue(nil, 'SeShutdownPrivilege', luid) then begin priv.PrivilegeCount := 1; priv.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED; priv.Privileges[0].Luid := luid; dummy := nil; AdjustTokenPrivileges(handle, false, priv, 0, dummy^, n); end; end; ExitWindowsEx(EWX_REBOOT, 0); end; |
|
Вернуться к началу |
|
|
Rimmer Dell
Зарегистрирован: 13.05.2002 Сообщения: 29 Откуда: Москва
|
Добавлено: Вт Май 07 2002 12:37 Заголовок сообщения: Re: Каа програмно сделать reset PC из С++ при OS Windows 2000 |
|
|
Есть такая API функция... ExitWindowsEx... |
|
Вернуться к началу |
|
|
|