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

Вниз

Завершение работы Windows   Найти похожие ветки 

 
Volhv   (2003-01-29 11:00) [0]

Доброго всем дня!
Проблема: запущено Delphi-приложение. При попытке перезагрузить или завершить работу Windows из памяти выгружаются некоторые процессы, а перезагрузка (завершение работы) не происходит.
Ловлю сообщение WM_QUERYENDSESSION:
procedure TFщкь1.WMQueryEndSession(var Msg:TWMQueryEndSession);
begin
inherited;
Msg.Result:=1;
end;
Бесполезно. Мое приложение не закрывается, Windows не завершает работу. Делал еще:
procedure TFщкь1.WMQueryEndSession(var Msg:TWMQueryEndSession);
begin
inherited;
Msg.Result:=1;
Close;
end;
Мое приложение закрывается, Windows НЕ завершает работу.
Есть какие-нибудь соображения на этот счет?


 
ККВ   (2003-01-29 12:25) [1]

Комментарий от "Макса" (halyavshik@mailru.com)
небольшое дополнение как выключить компутер с NT корректно компилируется в Delphi5 в 4 какие-то
проблемы с описанием констант привиллегий в других версиях Delphi не проверял:
program NTShutdown;
uses windows;
var
hToken: THandle;
tkp: TTokenPrivileges;
ReturnLength: Cardinal;
begin
if OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or
TOKEN_QUERY, hToken) then begin
LookupPrivilegeValue(nil, "SeShutdownPrivilege",
tkp.Privileges[0].Luid);
tkp.PrivilegeCount:=1; // one privelege to set
tkp.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;
if AdjustTokenPrivileges(hToken, False, tkp, 0, nil, ReturnLength)
then
ExitWindowsEx(EWX_SHUTDOWN or EWX_POWEROFF, 0);
end;
end.


 
Volhv   (2003-01-29 13:07) [2]

Так пробовал - не выходит. У меня Delphi 6. Компилируется нормально.
Вообще, проблема только под Windows 2000 (NT не знаю, наверное, тоже)


 
Volhv   (2003-01-29 13:52) [3]

Спасибо, уже решил! Помогло:
procedure TForm1.WMQueryEndSession(var Msg:TWMQueryEndSession);
begin
inherited;
Msg.Result:=1;
CallTerminateProcs;
Halt;
end;



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

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

Наверх




Память: 0.44 MB
Время: 0.007 c
3-76339
Johnmen
2003-03-03 12:00
2003.03.24
Oracle & DBX


14-76614
Anatoly Podgoretsky
2003-03-07 08:14
2003.03.24
Именинники 7 марта


14-76601
stone
2003-03-07 11:15
2003.03.24
---|Ветка была без названия|---


8-76531
Daf
2002-12-15 11:46
2003.03.24
Как проиграть mid из exe-шника?


3-76328
Ocean
2003-03-03 11:17
2003.03.24
AdoQuery1.ExecSQL вызывает ошибку kernel32 (WinME)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский