Вниз
Скачать: CL | DM;

Выход из 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.035 c
11-1057509228
=Sniper=
2003-07-06 20:33
2004.03.28
Поскажите замену для KOLследующим выражениям!!!!


8-1069824948
TSa
2003-11-26 08:35
2004.03.28
Видео


1-1078881880
Skaner
2004-03-10 04:24
2004.03.28
Вывод путей папок.


3-1077522326
Alexey
2004-02-23 10:45
2004.03.28
ACCESS to InterBase


8-1069701427
g-l-u-k
2003-11-24 22:17
2004.03.28
Регистрация расширения




   Наверх