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

ShutDown   Найти похожие ветки 

 
Quattro ©   (2005-07-31 01:23) [0]

Добрый день!...подскажите пожалуйста какое сообщение ответсвтенно за выключение компа??...ExitWindows(EW_?????,0)??


 
Eraser ©   (2005-07-31 01:31) [1]

Quattro ©   (31.07.05 01:23)

Не совсем понял вопрос, но думаю что ответ WM_ENDSESSION или WM_QUERYENDSESSION.


 
kami ©   (2005-07-31 01:33) [2]

Первоисточник :
BOOL ExitWindows(DWORD dwReserved, UINT uReserved);

Parameters
 dwReserved Reserved; must be zero.
 uReserved Reserved; must be zero.

Так что никаких сообщений в этой ф-и не передается - оба параметра=0.

Телепатируя, скажу, что при завершении работы всем приложениям отсылается WM_QUERYENDSESSION: The ExitWindows function asks applications if they want to terminate by sending WM_QUERYENDSESSION to the main window of all running applications.


 
Quattro ©   (2005-07-31 01:48) [3]

может быть я неверное выразил мысль..прошу за это извинить...например..ExitWindows(EW_RestartWindows,0)...или ExitWindos(EW_RebootSystem,0)...эти примеры так или иначе перезагружают систему..а надобно чтоб винда вместе с собой выключала и комп)))...может так понятнее? =))


 
Eraser ©   (2005-07-31 01:51) [4]

Quattro ©   (31.07.05 01:48) [3]

см. ExitWindowsEx


 
Quattro ©   (2005-07-31 02:30) [5]

Eraser ©   (31.07.05 01:51) [4]
хм...почему то не хочет вырубаться комп от такой вот строчки
if not ExitWindowsEx(EWX_SHUTDOWN,0) then ShowMessage("Nicht!");


 
Quattro ©   (2005-07-31 02:36) [6]

причём if not ExitWindowsEx(EWX_LOGOFF,0) then ShowMessage("Nicht!");-работает....как так?


 
kami ©   (2005-07-31 12:45) [7]

EWX_SHUTDOWN
Shuts down the system to a point at which it is safe to turn off the power. All file buffers have been flushed to disk, and all running processes have stopped.
The calling process must have the SE_SHUTDOWN_NAME privilege

А для EWX_LOGOFF не нужно никаких привилегий.

Да, еще - успешно отработавшая ExitWindows не означает, что комп выключится, а только что процесс выключения начался успешно.


 
Anatoly Podgoretsky ©   (2005-07-31 12:49) [8]

Quattro ©   (31.07.05 02:30) [5]
Так не видать здесь выключения компьютера, только выключение Виндоус. Ты бы все таки справку посмотрел.


 
Eraser ©   (2005-07-31 13:42) [9]

Quattro ©

  uses Windows;

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;  



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

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



Память: 0.47 MB
Время: 0.024 c
2-1124276233
Валя
2005-08-17 14:57
2005.09.25
Ну почему мне проще написать ...


4-1122223901
Regis__
2005-07-24 20:51
2005.09.25
Создать образ диска


14-1125893012
vajo
2005-09-05 08:03
2005.09.25
Вирус: Trojan-PSW.win32.vipgsm.ap


3-1124115669
Death_R
2005-08-15 18:21
2005.09.25
Изменения значения отдельной ячейки в двох таблицах


4-1122990528
kami
2005-08-02 17:48
2005.09.25
Скриншот с .ani-курсором




   Наверх