Windows OSD

erotic

Существует ли под Windows какая-нибудь OSD библиотека, т.е. библиотека, позволяющая выводить что-либо поверх экрана, а также позволять выведенному объекту взаимодействовать с изображением, находящимся под ним?

korsar0156

рана, а также позволять выведенному объекту взаимодействовать с изображением, находящимся под ним?
WS_EX_TOPMOST && WS_EX_LAYERED &&
(SetLayeredAttributes || UpdateLayeredWindow)
?

0000

Поверх экрана можно рисовать и так - используя GDI.

procedure DrawOnScreen;
var
ScreenDC: hDC;
begin
ScreenDC := GetDC(0); {получить контекст экрана}
Ellipse(ScreenDC, 0, 0, 200, 200); {нарисовать}
ReleaseDC(0, ScreenDC); {освободить контекст}
end;

> а также позволять выведенному объекту взаимодействовать с изображением, находящимся под ним
Не понял что это имелось в виду, если рисовать поверх, учитывая что снизу, то GDI будет также достаточно.

erotic

Ага, именно этим мне и придется заниматься, если я не найду готовую библиотеку.

erotic

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

korsar0156

специальных хардварных методов нет.
зачем тебе либа нужна?
если не нужна попиксельная полупрозрачность то можно любое окно сделать OSD.
Оставить комментарий
Имя или ник:
Комментарий: