Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как создать окна поверх игрушек ? 
:(
    Опции темы
Dragon
  Дата 21.10.2003, 22:16 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Мне нужно, что бы моё окно оставалось всегда поверх любого приложения и не перекрывалось ничем.
Попробывал вызывать SetWindowPos() с параметром TOPMOST по таймеру но появилась другая проблема - моя программа при запуске сначала сворачивает всех на панель задач, выводит окно, и всё. Как сделать, чтоб она никого никуда не скручивала при запуске? Или кто знает как по-другому выводить окна поверх игр.

  Вверх
knave
Дата 22.10.2003, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 6.3.2003
Где: Санкт-Питербург ( Россия)

Репутация: 1
Всего: 5



Это просто сокнами несделать. Так как в играх используется приямой вывод в видеопямять, а окно нужно тольок для того что бы указать координаты. Если хочеш что то вывдить то тебе нужно выводить на HDC вырхнего окна. Но в играх это будет моргать. Вообще думаю что бы неморгало стороняя программы нарисовать несможет. Там ж все изоражение строится в буфере, следоватеьно твое должно быть выведено самым последним, что бы быть поверх всего. А как ты узнаеш что кадр у игры уже отрисовался и гтов в выводу.


--------------------
С наилучшими пожеланиями !!!
PM MAIL ICQ   Вверх
knave
Дата 22.10.2003, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 6.3.2003
Где: Санкт-Питербург ( Россия)

Репутация: 1
Всего: 5



может конечно я инеправ. Иногда я видел диалоговые окна системные которые вылетали на экран и несворачивали игру.


--------------------
С наилучшими пожеланиями !!!
PM MAIL ICQ   Вверх
oleg1973
Дата 22.10.2003, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 1
Всего: 34



а если какнить перехватить функ flip директдрава?smile.gif
тогда можно будет смело в бэк буфере дорисовать че угодно а потом флип сделать smile.gif


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
DENNN
Дата 22.10.2003, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Ага, а если там OpenGL?
PM ICQ   Вверх
Nastya
Дата 22.10.2003, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 27.3.2002
Где: Мариуполь

Репутация: 5
Всего: 44



Не увенрена, а если диалоговое окно созадать как системное модальное ?


--------------------
Что бы понять рекурсию, надо понять рекурсию

"Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор
PM MAIL   Вверх
man2002ua
Дата 22.10.2003, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 943
Регистрация: 12.11.2002
Где: Киев

Репутация: нет
Всего: 2



Цитата
а если какнить перехватить функ flip директдрава?


Есть такая программа Fraps - она занимается именно этим - перехватывает операции типа swapBuffer (OpenGL), BitBlt и т.п. и выводин в углу игрушки фрейм/сек.
Перехват вызовов можно сделать как угодно, на форуме это обсуждалось много раз.


--------------------
"Нет ничего более постоянного, чем временное"
PM MAIL   Вверх
Dragon
Дата 22.10.2003, 21:39 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Вот явный пример - в Flash Get корзина закачек всегда выводится поверх всех игр (OpenGL, DirectX)
и даже не мигает. А ещё видел плагин к Winamp который держит своё окно поверх всех. Ну и не следует забывать всякие шелы в компьютерных клубах - они методично выводят своё окно с просьбой доплатить smile.gif
  Вверх
knave
Дата 23.10.2003, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 6.3.2003
Где: Санкт-Питербург ( Россия)

Репутация: 1
Всего: 5



Тогда надо поискать как это делать


--------------------
С наилучшими пожеланиями !!!
PM MAIL ICQ   Вверх
Baa
Дата 23.10.2003, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Кто-то чего говорил про прямое отображение в память? Гы smile.gif игры ведь и в окне идти умеют... игра - это и есть обычное окно...


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
oleg1973
Дата 23.10.2003, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 1
Всего: 34



Baa
ну немнога не согласен
в случае с директдрав если я делаю
comcall DDraw,SetCooperativeLevel,\
[hwd],DDSCL_EXCLUSIVE+DDSCL_FULLSCREEN
то могу потом рисовать непосредственно в LFB напрямую без заморочек
mov [edi],eax к примеру
быстро и надежно




--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
knave
Дата 24.10.2003, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 6.3.2003
Где: Санкт-Питербург ( Россия)

Репутация: 1
Всего: 5



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


--------------------
С наилучшими пожеланиями !!!
PM MAIL ICQ   Вверх
Baa
Дата 24.10.2003, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Дык какая разница про напрямую-то? я легко могу повесить окно винды над окном игры... без проблем... вот я к чему вел.


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
oleg1973
Дата 25.10.2003, 01:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 1
Всего: 34



Baa
покажи smile.gif


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Baa
Дата 25.10.2003, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



У мя ща проблемы с выкладыванием в инет, но последовательность могу описать... запустил ку2, загрузил q2dm1 (карта), нажал alt+enter, он перешел в оконный режим, дальше нажал ctrl+esc, появился task manager поверх окна игрушки... никаких проблем.


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1120 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.