![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отследить выход из Windows
ShimON © (2005-01-26 10:40:00)Уважаемые мастера, возникла проблема... Есть прога постоянно висящая в фоне (демон) при выходе из Windows она вечно мешала - не давала выйти пока ее не закроешь, я написал так:
private
{ Private declarations }
procedure Quit(var M: TWMQueryEndSession); message wm_QUERYENDSESSION;
procedure TfrmSettings.Quit(var M: TWMQueryEndSession);
var
ConnectThread: TConnectThread;
begin
//inherited;
if chbOffWhenLogOff.Checked then
if (TrayIcon.Icon = IconEnable) then
begin
ConnectThread:= TConnectThread.Create(True);
ConnectThread.Proverka:= False;
ConnectThread.FreeOnTerminate:= True;
ConnectThread.Resume;
end;
Application.Terminate;
M.Result := 1;
end;
Так вот все впринципе заработало, но почемуто теперь приложение закрывается раньше чем выполнится процедура потока. Почему???
ShimON (2005-01-26 11:36:00) [1]Все решилось намного проще. Дело было в потоке, он запускался и не успевал, естественно выполняться до строчки Application.Terminate. Поэтому я просто поставил туда процедуру выключения и все заработало как надо. Спасибо
BiN (2005-01-26 11:20:00) [2]см. WaitFor-функции
ShimON (2005-01-26 11:03:00) [3]Неужель никто не знает... :(