Главная страница
    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.01 c
8-76521
Maz
2002-12-11 12:16
2003.03.24
Flash в Delphi


4-76715
ogonez
2003-01-28 21:19
2003.03.24
окна классы


7-76700
BJValentine
2003-01-31 19:40
2003.03.24
Время


1-76427
neodiX
2003-03-11 12:17
2003.03.24
Как скопировать битмап в массив байтов?


4-76719
elf_123
2003-01-28 19:34
2003.03.24
Хук+сеть





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