Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Поверх всееееееех окон! [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]

Нет


Наверх

Титульная страница Поиск, карта сайта Написать письмо