|
0 / 0 / 0
Регистрация: 12.05.2010
Сообщений: 70
|
|
Вывод графики "поверх всего".04.02.2011, 01:21. Показов 2025. Ответов 9
Метки нет (Все метки)
Мир Вам!
Итак, мысля: Есть у меня клава (мультимедийная) с кнопочками регулировки громкости и т.д. Так вот, с ней специальный драйвер-программмка. При нажатии на кнопочки регулировки громкости звука на экране появляется полоска, такая как на телевизоре, показывающая уровень громкости, причем выводится всегда, что бы не было запущено, хоть 3д игра, хоть в режиме эмуляции дос. Вопрос: как вывести графику также поверх всего. Пробовал получать hDC десктопа и рисовать на экране через него, но все этоо надо переодически рефрешить. Если это делать по таймеру - получается некрасиво - мерцает. А в играх частота обновления экрана такая, что моей графики практически не видно. Какие у кого есть идеи? Может надо както отлавливать момент обновления экрана и дорисовывать свою графику, но как?
0
|
|
| 04.02.2011, 01:21 | |
|
Ответы с готовыми решениями:
9
Вывод графики поверх всех приложений Вывод графики на экран, поверх всех окон.
|
|
3 / 3 / 0
Регистрация: 12.07.2010
Сообщений: 128
|
|
| 04.02.2011, 20:29 | |
|
Чесно говоря я не совсем понял чего Вы хотите.
Мне кажется это то, что Вам нужно: 'код в форме Option Explicit Private Const HWND_TOPMOST = -1 Private Const SWP_NOSIZE = &H1 Private Const SWP_NOMOVE = &H2 Private Declare Function SetWindowPos Lib 'user32' (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Private Sub Form_Load() Call SetWindowPos(Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE) End Sub
0
|
|
|
0 / 0 / 0
Регистрация: 12.05.2010
Сообщений: 70
|
|
| 05.02.2011, 00:54 [ТС] | |
|
Нет, это совершенно не то.
Код, котрый вы привели выводит окно программы поверх всех окон. А мне необходимо выводить графику прямо на дисплей поверх всего (хоть по точкам, хоть как.) Вообще вопрос в том как отловить момент обновления экрана и дорисовать сверъху свою графику.
0
|
|
|
3 / 3 / 0
Регистрация: 12.07.2010
Сообщений: 128
|
|
| 05.02.2011, 01:48 | |
|
А чем, собственно, такой вариант не устраивает?
Почему нельзя сделать непотопляемое окно и рисовать в нем?
0
|
|
|
0 / 0 / 0
Регистрация: 12.05.2010
Сообщений: 70
|
|
| 05.02.2011, 12:16 [ТС] | |
|
А тем, что окно заставляет игры сворачиваться или сильно глючит.
0
|
|
|
Comanche
|
|
| 05.02.2011, 21:12 | |
|
2svinn:
похоже, тебе нужен 'низкоуровневый' вывод на экран - а это, скорее всего, ASM, но никак не бэйсик: бэйсик с железом не дружит, максимум что имеет - MSComm Control. Вот Мессир наверняка посоветует тебе написАть свой драйвер ) и будет, скорее всего, прав...
|
|
|
0 / 0 / 0
Регистрация: 12.05.2010
Сообщений: 70
|
|
| 06.02.2011, 00:36 [ТС] | |
|
А можно ли 'отловить' момент обновления экрана? Ведь там всякие нажатия кнопки мыши, создание окна и т.д. можно...
0
|
|
|
Comanche
|
|
| 06.02.2011, 15:14 | |
|
По идее, определяешь хэндл окна десктопа (GetDesktopWindow), вешаешь на него хук, ловишь WM_PAINT... но не уверен, что это как-то поможет в твоей задаче. Поищи в англоязычном Интернете на 'low-level screen (display) output' и т.п. - может что и найдёшь... попробуй также зайти в форум на wasm.ru и задать там свой вопрос.
|
|
|
Messir
|
|
| 07.02.2011, 00:09 | |
|
Тебе не момент обновления экрана ловить надо, а так называемый момент 'обратного хода луча'. Именно в это время происходит обновление картинки на экране. Вот тогда-то и рисовать нужно...
|
|
|
0 / 0 / 0
Регистрация: 12.05.2010
Сообщений: 70
|
|
| 12.02.2011, 03:12 [ТС] | |
|
Итак, с хуком получилось немного лучше, чем с таймером. Теперь хоть можно разобрать нарисованное поверх активной игыр.
Но вопрос все еще открыт... Может можно каким то образом через директХ такое проделать????
0
|
|
| 12.02.2011, 03:12 | |
|
Помогаю со студенческими работами здесь
10
Кнопка поверх всего iframe поверх всего! Форма поверх всего Fixed поверх всего Рисовать поверх всего Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|