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

Как вывести сообщение поверх всех окон   Найти похожие ветки 

← →
konstantinov ©   (2004-05-04 09:48) [0]

Собственно сабж.
Программа ограничивает время работы на компьютере. Перед завершение работы вываливает сообщение, мол, закругляйся.
Все ничего, но нижеприведенный код не работает для полноэкранных приложений ( игры, фар-менеджер и пр. )

procedure ShowMSG ( const MSG : string );
 var Form     : TForm;
     I,J      : integer;
     Tick     : DWORD;
     h,m,s,ms : word;
begin
 DecodeTime(PauseExit,h,m,s,ms);
 Tick := ms + s * 1000 + m * 60000 + h * 36000000;
 for I := 0 to Tick div 1000 do
 begin
   Form := CreateMessageDialog(MSG + #13 + FormatDateTime("Компьютер будет выключен через hh:nn:ss",Time - TimeExit),mtWarning,[]);
   Form.FormStyle := fsStayOnTop;
   Form.BorderIcons := [];
   ShowWindow(Form.Handle,SW_SHOWNOACTIVATE );
   for J := 0 to 9 do
   begin
     Sleep(100);
     Application.ProcessMessages;
   end;
   Form.Free;
 end;
end;


Посоветуйте, как это обойти.
Заранее благодарен.


← →
Yanis ©   (2004-05-04 10:46) [1]

Как вариант, можно просто сказать окну WM_CLOSE.
Или же что бы не потерять, например сохранёнки в игре можно её свернуть.

Может мой метод не красивый, но.... работает. И очень хорошо :)

На форме Timer, с интервалом 1.

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 with form1 do
   begin
     FormStyle := fsStayOnTop;
     show;
   end;
end;


← →
Yanis ©   (2004-05-04 10:46) [2]

Как вариант, можно просто сказать окну WM_CLOSE.
Или же что бы не потерять, например сохранёнки в игре можно её свернуть.

Может мой метод не красивый, но.... работает. И очень хорошо :)

На форме Timer, с интервалом 1.

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 with form1 do
   begin
     FormStyle := fsStayOnTop;
     show;
   end;
end;


← →
DVM ©   (2004-05-04 12:30) [3]


> konstantinov ©   (04.05.04 09:48)  

Не надо так делать. Если окно игры потеряет фокус, то начнутся страшные глюки во многих играх. Попробуй по таймеру рисовать свое сообщение на GetDC(0);



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

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



Память: 0.46 MB
Время: -0.978 c
1-1083675213
Leos
2004-05-04 16:53
2004.05.16
TScrollBar


14-1083141532
Marina_S
2004-04-28 12:38
2004.05.16
исходники JPEG


4-1080053136
baromir
2004-03-23 17:45
2004.05.16
Не могу проследить за процессом....как быть?


14-1083167480
Yegorchic
2004-04-28 19:51
2004.05.16
Всё за бесплатно!


1-1083077698
Алексей Петухов
2004-04-27 18:54
2004.05.16
полное имя файла




   Наверх