winapi — C ++ Layered Window и WM_MOUSEMOVE

Я пытаюсь сделать прозрачную заставку в C ++ и WinAPI.

На Windows XP он работает нормально, но на WES7 у меня возникает следующая проблема:
Делая мой экран прозрачным, я не могу получить любой WM_MOUSMOVE Сообщения.

SetWindowLongPtr( hWnd,
GWL_EXSTYLE,
GetWindowLongPtr(hWnd, GWL_EXSTYLE) | WS_EX_LAYERED | WS_EX_TOOLWINDOW );
double TransparencyPercentage = 50.0;
double fAlpha = TransparencyPercentage * ( 255.0 /100 );
BYTE byAlpha = static_cast<BYTE>( fAlpha );
SetLayeredWindowAttributes( hWnd, 0, byAlpha, LWA_ALPHA );

Я уже получил информацию, что byAlpha должно быть больше 0, потому что иначе я не получу никаких сообщений мыши, но я все равно получаю сообщения клавиатуры, а также щелчки мыши.

Надеюсь, вы можете помочь мне с этим.

1

Решение

Так как это заставка, я предполагаю, что вам нужно WM_MOUSEMOVE, чтобы знать, когда выйти. Вы можете использовать SetCapture, чтобы все данные мыши отправлялись в ваше окно независимо от того, куда оно на самом деле указывает.

0

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

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

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