Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];

Вниз

Выход из Windows   Найти похожие ветки 

 
NavigatorV ©   (2003-12-02 19:28) [0]

Как програмно завершить работу в Windows XP (т.е. Power Off)


 
Anatoly Podgoretsky ©   (2003-12-02 19:44) [1]

http://podgoretsky.com/ftp/Language/nps/ru.delphi.html#N162


 
Smoke   (2003-12-16 17:10) [2]

1.Дать процессу привелегию SeShutdownName
2.HKLM\SOFTWARE\Microsoft\Windows  NT\CurrentVersion\Winlogon\PowerdownAfterShutdown=1
3.ExitWindowex EWX_FORCE | EWX_SHUTDOWN,0


 
Guest   (2003-12-28 21:45) [3]

Есть примеры!!! Отключается XP даже VB скриптом, кому надо, мыльте ilya2003@ezmail.ru.


 
Рамиль ©   (2003-12-29 09:57) [4]

В XP все решается проще. Есть такая программка стандартная
shutdown.exe, можно даже завершить работу удаленного компа.


 
tesseract ©   (2003-12-29 13:42) [5]

BOOL ExitWindowsEx(
 UINT uFlags,
 DWORD dwReason
);
UFlags:
EWX_LOGOFF:  
EWX_POWEROFF
EWX_REBOOT
EWX_SHUTDOWN

dwReason - на фиг не нужен.

BOOL InitiateSystemShutdownEx(
 LPTSTR lpMachineName,
 LPTSTR lpMessage,
 DWORD dwTimeout,
 BOOL bForceAppsClosed,
 BOOL bRebootAfterShutdown,
 DWORD dwReason
);
только Winnt/WinXP


 
YuRock ©   (2003-12-29 14:29) [6]

Вот рабочий вариант:


Uses Windows, SysUtils;

procedure ExitWnd;
var
 hToken : THANDLE;
 tkp : TTokenPrivileges;
 rl : DWORD;
begin
 OpenProcessToken(GetCurrentProcess(), (TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY), hToken);
 if not (LookupPrivilegeValue(nil, LPSTR("SeShutdownPrivilege"), tkp.Privileges[0].Luid)) then
  begin
    MessageBox(0, "Нет локальных привилегий", "", MB_ICONSTOP);
    Exit;
  end;
 tkp.PrivilegeCount := 1;
 tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
 AdjustTokenPrivileges(hToken, FALSE, tkp, 0, nil, rl);
 if not (LookupPrivilegeValue(nil, LPSTR("SeRemoteShutdownPrivilege"), tkp.Privileges[0].Luid)) then
  begin
    MessageBox(0, "Нет сетевых привилегий", "", MB_ICONSTOP or MB_TASKMODAL);
    Exit;
  end;
 tkp.PrivilegeCount := 1;
 tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
 AdjustTokenPrivileges(hToken, FALSE, tkp, 0, nil, rl);

 if not ExitWindowsEx(EWX_SHUTDOWN or EWX_POWEROFF, 0) then
   MessageBox(0, "Что-то не то...", "", MB_ICONSTOP or MB_TASKMODAL);
end.



Страницы: 1 вся ветка

Форум: "Система";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.047 c
3-1077146940
Ve_Ko
2004-02-19 02:29
2004.03.28
Файл-сервер


6-1073837038
Iks
2004-01-11 19:03
2004.03.28
Передача изображения по сети


6-1073855568
Sir Alex
2004-01-12 00:12
2004.03.28
Утечка памяти и ресурсов (HTMLViewer) в W98


14-1077692614
Карелин Артем
2004-02-25 10:03
2004.03.28
Как побороть модем в Win 2000?


3-1077633122
AlexWebIn
2004-02-24 17:32
2004.03.28
Программное определение внешних ключей.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский