Окно WS_EX_LAYERED кажется невидимым по RDP

Я разработал приложение для захвата экрана для Windows, используя чистый Win32 — без MFC или ATL.

Для этого я использую два многоуровневых окна верхнего уровня — одно (полностью прозрачное) для захвата событий мыши, таких как перетаскивание, а другое (полупрозрачное) для действия в качестве выделенного прямоугольника. Когда пользователь выбирает область своего экрана для захвата, я использовал SetWindowPos (), чтобы изменить размер и положение полупрозрачного окна выделения.

Это нормально работает на физическом устройстве, но я обнаружил, что на виртуальной машине (Windows 7) поверх RDP мое полупрозрачное окно вообще не отображается. Я все еще могу захватывать экран, но не могу предоставить визуальную обратную связь пользователю mid-capture.

Я попытался изменить настройки RDP для использования 32bpp, но это не помогает.

Я использую:

COLORRED highlightColor = RGB(0, 0, 255);
SetLayeredWindowAttributes(hWnd, highlightColor, 255*0.6, LWA_ALPHA);

в событии WM_CREATE для моего основного окна.

Кто-нибудь знает, как отобразить полупрозрачное многослойное окно поверх RDP на виртуальной машине?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]