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

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

Есть ли такая функция [D6, Win95/98, WinXP]


Hogo ©   (2002-05-31 12:40:00) 

Есть ли функция которая отобразит твое окно поверх других, дяже поверх игр?


DarkSimpson   (2002-08-08 21:24:00) [1]

Можна еще писать в память видеокарты напрямую, наверное (Win9x)


Толик   (2002-08-08 16:54:00) [2]

Если игрушка использует монопольный режим DirectDraw, то НИКАК. Есть там такая константа DDSCL_EXCLUSIVE, так вот если она использовалась при инициализации DirectDraw, то отобразить свою форму поверх такой проги можно ТОЛЬКО свернув её и никак иначе...


Zev   (2002-08-08 16:13:00) [3]

// Сделать форму поверх остальных

SetWindowPos(Form1.Handle,HWND_TOPMOST,Form1.Left,Form1.Top,Form1.Width,Form1.Height,SWP_SHOWWINDOW);

// Сделать форму сзади всех

SetWindowPos(Form1.Handle,HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE OR SWP_NOSIZE);



Bars   (2002-07-30 21:52:00) [4]

form1.formstate:=fsontop;


easy   (2002-06-01 18:16:00) [5]

...Поверх directX - openGL игрушек отобразить окно невозможно, а если очень надо - сверни окно игрушки...


Wizard_Ex   (2002-06-01 16:05:00) [6]

Попробуй так

procedure TMainForm.BringToFrontAnyway;
var
OldTimeOut: DWORD;
hWnd: Integer;
begin
hWnd := GetForegroundWindow;
if hWnd = Application.Handle then Exit;
SystemParametersInfo(SPI_GETFOREGROUNDLOCKTIMEOUT, 0, @OldTimeOut, 0);
SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, Pointer(0), 0);
SetForegroundWindow(Application.Handle);
SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, Pointer(OldTimeOut), 0);
end;


Наверх

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