![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поверх всееееееех окон! [D6, Win95/98]
Сутковой Вадим © (2002-11-28 12:44:00)Мне недавно потребовалось сделать форму поверх всех окон, даже игр, но form.Style:=fsStayOnTop; не помогает пролезть поверх игр. Есть ли возможность быть обсалютно поверх всех?
Darkwin (2002-11-29 16:31:00) [1]А с двумя окнами StayOnTop никто не связывался? Тоже интересная задачка, я новую ветку открыл, если кому интересно - милости просим :))
Keymaster (2002-11-29 16:28:00) [2]2 [Игорь Шевченко ©, 2 Darkwin ©] :
Есть. Не так давно был админом в игровом клубе, и у нас была
программа для его администрирования. Среди её задач было -
показывать пользователю, что у него осталось 10, 5, 1 минута.
И она это делала!
Независьмо от запущенной игры, появлялось окно с собщением
"у вас осталось N минут", висело 5 секунд и исчезало.
Но как это реализуется, я бы и сам хотел знать.
Darkwin (2002-11-29 16:24:00) [3]Поверх игр не получится, потомучто игры это какбы другая ОС, многие из них полностью берут на себя управление компьютером, поэтому некоторые из игр не идут на WindowsNT.
mukha (2002-11-29 16:20:00) [4]Пример тоже реализован с использованием таймера.По другому игры победить неудаётся.
Song (2002-11-29 10:55:00) [5]Обратите внимание "..не помогает пролезть поверх игр.".
Если знаете как вывести поверх OpenGL/DirectX игр через SetWindowPos() я буду очень рад это узнать.
DVM (2002-11-29 09:19:00) [6]Kolya прав - только по таймеру. Ведь другая программа может делать то же самое - пытаться вылезть и теми же самыми методами, что и ваша.
esu (2002-11-28 23:27:00) [7]
> Kolya © (28.11.02 22:47)
Не спасет, не для того он, fsStayOnTop предназначен.
> mukha © (28.11.02 22:09)
Тут этот вопрос возникает чуть не каждый день, дай ссылочку, интерестно посмотреть. Правда сомневаюсь, что это возможно в общем случае сделать.
Kolya (2002-11-28 22:47:00) [8]насколько я знаю, единственное что можно сделать это поставить form.Style:=fsStayOnTop в таймер с интервалом 1.
Arkan (2002-11-28 22:23:00) [9]и мне, плз!
mukha (2002-11-28 22:09:00) [10]Отправил на мыло пример. Смотри.
Alex Ded (2002-11-28 21:24:00) [11]Poprobui etot variant, rabotaet luchshe vsego chto ya kogda-libo videl
......
private
{ Private declarations }
procedure WMWINDOWPOSCHANGING(var msg: TWMWINDOWPOSCHANGING);
message WM_WINDOWPOSCHANGING;
public
......
......
procedure TForm1.WMWINDOWPOSCHANGING(var msg: TWMWINDOWPOSCHANGING);
begin
SetWindowPos(Form1.Handle, HWND_TOPMOST, Form1.Left, Form1.Top,
Form1.Width, Form1.Height, SWP_SHOWWINDOW);
inherited;
end;
......
Игорь Шевченко (2002-11-28 13:03:00) [12]Нет