Выключение компа?
Вопрос: Как програмно выключить комп?
http://sources.ru/delphi/system/shutdown_pc_with_all_windows.shtml
http://sources.ru/delphi/system/logout_or_reboot_winnt.shtml
Прикольно было бы если всё так на готово подавали а ты только компилятором пользуйся!
зачем далеко ходить? все здесь есть.
to s$s
вот скачай. там и логаут, и перезагрузка, и выключение, и еще много чего.
http://sources.codenet.ru/download/781/task%26amp_process.html
консоль с таким поратметром cmd.exe -shutdown
ShellExecute(Handle,'open', 'shutdown.exe', '-r', '-t 0',SW_SHOWNORMAL); - перезагрузка
ShellExecute(Handle,'open', 'shutdown.exe', '-s', '-t 0',SW_SHOWNORMAL);
выключение
'-t 0' - время ожидания до выполнения задачи.
Ещё можно с помощью
function ExitWindows(dwReserved: DWORD; Code: Word): BOOL;
EWX_LOGOFF = 0;
EWX_SHUTDOWN = 1;
EWX_REBOOT = 2;
... windows.pas
ExitWindows вроде только для 95/98/Me. В NT есть функция InitiateSystemShutdown.
вот что сказано в msdn о ExitWindows:
Код:
function ExitWindows(dwReserved:DWORD, wReserved:Word):bool;
а теперь параметры
Parameters:
dwReserved; must be zero.
wReserved; must be zero.
а вот это
EWX_LOGOFF = 0;
EWX_SHUTDOWN = 1;
EWX_REBOOT = 2;
относится к ExitWindowsEx
Код:
function ExitWindowsEx(wOptions:Word, dwReserved:DWORD):bool;
и чтоб использовать EWX_SHUTDOWN и EWX_REBOOT приложение должно иметь привилегию SE_SHUTDOWN_NAME.
Лучше использовать ExitWindowsEx.
makbeth
нет. ExitWindows используется в 95/98/Me/NT/2000/XP/2003.
[COLOR=red]<deleted> - [COLOR=black]moderator[/COLOR][/COLOR]
[COLOR=red] kastron замечание.[/COLOR]
[COLOR=red]предупреждаю всех - перестаньте флудить[/COLOR]