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

Выключить компьютер в XP   Найти похожие ветки 

 
Islander   (2003-03-31 09:04) [0]

Доброго времени суток! Будьте так любезны, подскажите решение: есть WinXP. Как выключить компьютер, если у меня DELPHI 5 (именно в этой версии).
ExitWindows(EWX_POWEROFF, 0 );
ExitWindowsEx(EWX_SHUTDOWN,0);
Это все не работает. В лучшем случае завершает сеанс.
Может вы знаете решение?
Заранее спасибо, если не трудно, можно ответить на мыло?!


 
Слесарь Матерящийся ©   (2003-03-31 10:16) [1]

Получить привилегию SeShutdownPrivilege.

http://dg.neo-tele.com/modules.php?name=News&file=article&sid=13


 
KSION ©   (2003-03-31 16:24) [2]

Shutdown.exe - решение всех проблем


 
it   (2003-04-04 16:41) [3]


Взял из какого-то FAQ и доработал... работает во всех виндозах

function TForm1.LocalShutdown(bShutdown, bForceApps: boolean): boolean;
var
hToken : THandle;
tkp,PrevState : _TOKEN_PRIVILEGES;
k : Cardinal;
dwFlags : Cardinal;
begin
Result:=false;
// "Включаем" привилегию "SeShutdownPrivilege"
OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,hToken);
LookupPrivilegeValue(nil, "SeShutdownPrivilege", tkp.Privileges[0].Luid);
tkp.PrivilegeCount:=1;
tkp.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE, tkp, SizeOf(PrevState), PrevState, k);

//Определяем выключать или перезагружать компьютер
if bShutdown
then dwFlags:=EWX_SHUTDOWN
else dwFlags:=EWX_REBOOT;

//Определяем выключать или перезагружать компьютер
if bForceApps = false //:-|
then dwFlags:=dwFlags or EWX_FORCE;

// Выходим из Windows (действие определяется значением dwFlags)
if ExitWindowsEx(dwFlags,0)
then Result:=true;



 
Song ©   (2003-04-05 10:26) [4]

>>Shutdown.exe - решение всех проблем
Нет, к сожалению.
ShutDown.exe использует в работе InitiateSystemShutDown(), а последний не испоьзует ACPI и при выключении машины пишет "Теперь Вы можете отключит питание вашего компьютера".



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

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



Память: 0.46 MB
Время: 0.012 c
3-26352
AlexGreg
2003-05-20 14:01
2003.06.09
Как заставить свою программу редактировать лист MS Excel?


1-26515
DimonA
2003-05-30 10:37
2003.06.09
RichEdit


11-26415
Roby
2002-09-20 00:38
2003.06.09
KOL RichEdit


14-26657
Mazai
2003-05-24 08:28
2003.06.09
звонилка


3-26381
Ol-G
2003-05-19 21:17
2003.06.09
Помогите пожалуйста. Проблема с запросом SQL. Вот код:




   Наверх