Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
z-z
169 / 168 / 30
Регистрация: 22.06.2011
Сообщений: 980
#1

Доступ к видеобуферу для перекрытия окон - C++

27.06.2015, 14:09. Просмотров 511. Ответов 10
Метки нет (Все метки)

Здравствуйте.

Где то читал, что на компьютере есть видео буфер, с которого все и выводится на экран. И вроде как к этому видео буферу можно получить доступ низкоуровневыми программами, вроде как и на плюсах можно... Кто нибудь, скажите, пожалуйста, как это осуществить?

ПС. видео буфер - имеется ввиду двоичный код, который непосредственно экран считывает. Я хочу вывести на экран картинку так, чтобы ни одно приложение его не перекрывало. Чтобы это изображение всегда было сверху

Задать свойство окну не помогает, некоторые приложения все равно перекрывают его... В частности игрушки.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.06.2015, 14:09     Доступ к видеобуферу для перекрытия окон
Посмотрите здесь:
C++ WinAPI Динамические темы для окон
C++ Builder ограничение области desktop для окон
C++ WinAPI Учебник по написанию окон для начинающих?
Программа для создания диалоговых окон C++ WinAPI
C++ WinAPI Закрытие окон для других пользователей по PID
Несколько окон консоли для одной программы C++
C++ WinAPI Создание Диалоговых окон в ResEdit для Code::Blocks
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Убежденный
Системный программист
Эксперт С++
15295 / 6927 / 1096
Регистрация: 02.05.2013
Сообщений: 11,334
Завершенные тесты: 1
27.06.2015, 17:16     Доступ к видеобуферу для перекрытия окон #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от z-z Посмотреть сообщение
И вроде как к этому видео буферу можно получить доступ низкоуровневыми программами, вроде как и на плюсах можно...
Если речь про Windows, то это давно уже не так.
Во-первых, видео-память и вооюще графическая подсистема имеет сложную и
местами запутанную структуру, которая, к тому же, варьируется в зависимости
от производителя видео-карты. Во-вторых, доступ к этим структурам для
обычных приложений закрыт.
z-z
169 / 168 / 30
Регистрация: 22.06.2011
Сообщений: 980
27.06.2015, 17:46  [ТС]     Доступ к видеобуферу для перекрытия окон #3
Убежденный, спасибо. А я так надеялся...)) А можно еще каким то способом выводить что нибудь на экран поверх "всего-всего"?
Убежденный
Системный программист
Эксперт С++
15295 / 6927 / 1096
Регистрация: 02.05.2013
Сообщений: 11,334
Завершенные тесты: 1
27.06.2015, 18:10     Доступ к видеобуферу для перекрытия окон #4
Один вопрос - зачем ?
Почтальон
Модератор
356 / 278 / 50
Регистрация: 22.03.2015
Сообщений: 2,169
Завершенные тесты: 1
29.06.2015, 08:09     Доступ к видеобуферу для перекрытия окон #5
Цитата Сообщение от Убежденный Посмотреть сообщение
Один вопрос - зачем ?
Чел возможно хочет сделать "баннерный" блокиратор, и срубить деньжат немного
z-z
169 / 168 / 30
Регистрация: 22.06.2011
Сообщений: 980
29.06.2015, 09:03  [ТС]     Доступ к видеобуферу для перекрытия окон #6
Почтальон, нет, просто делал прогу на C#, которая должна была быть поверх всех окон и с печалью обнаружил, что "поверх всех окон" - не совсем корректное описание)) Поэтому из принципа стал искать метод повесить окно именно поверх всех изображений...

Может как то через directX можно это сделать?
SatanaXIII
Супер-модератор
Эксперт С++
5602 / 2636 / 242
Регистрация: 01.11.2011
Сообщений: 6,495
Завершенные тесты: 1
29.06.2015, 13:43     Доступ к видеобуферу для перекрытия окон #7
Цитата Сообщение от z-z Посмотреть сообщение
Поэтому из принципа стал искать метод повесить окно именно поверх всех изображений
Хотите классический риторический вопрос: что будет, если запустить две таких ваших проги?
z-z
169 / 168 / 30
Регистрация: 22.06.2011
Сообщений: 980
29.06.2015, 13:50  [ТС]     Доступ к видеобуферу для перекрытия окон #8
SatanaXIII, я не знаю тонкостей работы оконной системы. Но ведь в любом случае "всех" скорее всего не будет каким то супер свойством, которое будет перекрывать все на свете и два таких окна сломают систему))

Я могу пример из веба привести. Я даю попапу z-index: 10000 и он всегда поверх всего. Даже если еще будут какие то элементы с заданным з-индексом, у них вряд ли будет такое большое значение... А если вдруг и будет, то браузер будет смотреть на их расположение в коде...

Добавлено через 1 минуту
Просто интересно... Полно-экранный вид игрушки на Unity (при том, что это браузерная игрушка!) перекрывает нафиг все... Хотя уведомления скайпа (кажется) там иногда просвечиваются...

Какая нибудь тяжелая системная игрушка тоже все перекрывает... они же как то это делают?))
Nick Alte
Эксперт С++
1608 / 1000 / 118
Регистрация: 27.09.2009
Сообщений: 1,930
Завершенные тесты: 1
30.06.2015, 09:00     Доступ к видеобуферу для перекрытия окон #9
Цитата Сообщение от z-z Посмотреть сообщение
. Полно-экранный вид игрушки на Unity (при том, что это браузерная игрушка!) перекрывает нафиг все...
Цитата Сообщение от z-z Посмотреть сообщение
Какая нибудь тяжелая системная игрушка тоже все перекрывает... они же как то это делают?))
Просто удивительно, насколько иногда полезно поговорить с самим собой:
Цитата Сообщение от z-z Посмотреть сообщение
Может как то через directX можно это сделать?
z-z
169 / 168 / 30
Регистрация: 22.06.2011
Сообщений: 980
30.06.2015, 12:17  [ТС]     Доступ к видеобуферу для перекрытия окон #10
Nick Alte, наверно это был тончайший намек, что все таки можно, да? А как - не намекнете?)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2015, 15:31     Доступ к видеобуферу для перекрытия окон
Еще ссылки по теме:
Класс (объект) для перехвата сообщений своих окон C++
Класс для хранения координат прямоугольных «окон» на экране C++
Свой класс для окон. Не могу разобраться с ошибкой C++ WinAPI
Оболочка для создания окон WinAPI и ошибка LNK2001 C++ WinAPI
Создать класс Model Window для работы с моделями экранных окон C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Nick Alte
Эксперт С++
1608 / 1000 / 118
Регистрация: 27.09.2009
Сообщений: 1,930
Завершенные тесты: 1
30.06.2015, 15:31     Доступ к видеобуферу для перекрытия окон #11
Да очень просто, отожрать весь экран под себя, иными словами - переключиться в полноэкранный режим.
Yandex
Объявления
30.06.2015, 15:31     Доступ к видеобуферу для перекрытия окон
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru