Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

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

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

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

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

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

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

Задать свойство окну не помогает, некоторые приложения все равно перекрывают его... В частности игрушки.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.06.2015, 14:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Доступ к видеобуферу для перекрытия окон (C++):

ограничение области desktop для окон - C++ Builder
Два вопроса: а) при создании панельки "Мой компьютер" (и выставлении флага "Always on top") ограничивается область десктопа для всех...

Динамические темы для окон - C++ WinAPI
Доброго времени суток!!! Подскажите, что можно сделать, чтобы окно и все его элементы подстраивались под тему, выбранную в Windows? ...

Учебник по написанию окон для начинающих? - C++ WinAPI
Будет интересно узнать, какой учебник лучше всего подходит для написания desktop приложений на Windows.

Программа для создания диалоговых окон - C++ WinAPI
Подскажите пожалуйста прогу как в заголовке темы

Закрытие окон для других пользователей по PID - C++ WinAPI
Привет всем. Кто то сталкивался с такой ситуацией. Есть терминальный сервер с 10-ю пользователями. Каждый пользователь запустил приложение....

Свой класс для окон. Не могу разобраться с ошибкой - C++ WinAPI
main: #include "MyWin.h" #include <iostream> using namespace std; using namespace mywin; WNDPROC WndProc(HWND, UINT,...

10
Убежденный
Ушел с форума
Эксперт С++
15708 / 7218 / 1139
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
27.06.2015, 17:16 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от z-z Посмотреть сообщение
И вроде как к этому видео буферу можно получить доступ низкоуровневыми программами, вроде как и на плюсах можно...
Если речь про Windows, то это давно уже не так.
Во-первых, видео-память и вооюще графическая подсистема имеет сложную и
местами запутанную структуру, которая, к тому же, варьируется в зависимости
от производителя видео-карты. Во-вторых, доступ к этим структурам для
обычных приложений закрыт.
0
z-z
169 / 168 / 30
Регистрация: 22.06.2011
Сообщений: 980
27.06.2015, 17:46  [ТС] #3
Убежденный, спасибо. А я так надеялся...)) А можно еще каким то способом выводить что нибудь на экран поверх "всего-всего"?
0
Убежденный
Ушел с форума
Эксперт С++
15708 / 7218 / 1139
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
27.06.2015, 18:10 #4
Один вопрос - зачем ?
0
Почтальон
Модератор
432 / 358 / 67
Регистрация: 22.03.2015
Сообщений: 2,822
Завершенные тесты: 1
29.06.2015, 08:09 #5
Цитата Сообщение от Убежденный Посмотреть сообщение
Один вопрос - зачем ?
Чел возможно хочет сделать "баннерный" блокиратор, и срубить деньжат немного
0
z-z
169 / 168 / 30
Регистрация: 22.06.2011
Сообщений: 980
29.06.2015, 09:03  [ТС] #6
Почтальон, нет, просто делал прогу на C#, которая должна была быть поверх всех окон и с печалью обнаружил, что "поверх всех окон" - не совсем корректное описание)) Поэтому из принципа стал искать метод повесить окно именно поверх всех изображений...

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

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

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

Какая нибудь тяжелая системная игрушка тоже все перекрывает... они же как то это делают?))
0
Nick Alte
Эксперт С++
1642 / 1014 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
30.06.2015, 09:00 #9
Цитата Сообщение от z-z Посмотреть сообщение
. Полно-экранный вид игрушки на Unity (при том, что это браузерная игрушка!) перекрывает нафиг все...
Цитата Сообщение от z-z Посмотреть сообщение
Какая нибудь тяжелая системная игрушка тоже все перекрывает... они же как то это делают?))
Просто удивительно, насколько иногда полезно поговорить с самим собой:
Цитата Сообщение от z-z Посмотреть сообщение
Может как то через directX можно это сделать?
0
z-z
169 / 168 / 30
Регистрация: 22.06.2011
Сообщений: 980
30.06.2015, 12:17  [ТС] #10
Nick Alte, наверно это был тончайший намек, что все таки можно, да? А как - не намекнете?)
0
Nick Alte
Эксперт С++
1642 / 1014 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
30.06.2015, 15:31 #11
Да очень просто, отожрать весь экран под себя, иными словами - переключиться в полноэкранный режим.
0
30.06.2015, 15:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2015, 15:31
Привет! Вот еще темы с ответами:

Оболочка для создания окон WinAPI и ошибка LNK2001 - C++ WinAPI
Хочу сделать для себя оболочку для создания окон WinAPI, но не могу решить ошибку LNK2001. Вот код: SKLWindow.h #include...

Создание Диалоговых окон в ResEdit для Code::Blocks - C++ WinAPI
Здравствуйте! Скачал данную программку, пытаюсь создать файл, но она выдает вот что: Подскажите как ей пользоваться?

Создание простой оболочки для окон WinAPI в виде классов на C++ (инкапсулирование) - C++ WinAPI
Добрый вечер. Пытаюсь построить простенькую классовую оболочку для WinAPI (т.е. крайне простенький аналог MFC), но никак не могу...

Несколько окон консоли для одной программы - C++
Добрый вечер, форум. Вот какой вопрос, есть ли кросс-платформенный способ для создания дополнительного окна консоли?


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

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