-
Создаю топмост окно следующим образом
CreateWindowEx(WS_EX_TOPMOST ...
SetWindowLong(my_hwnd, GWL_EXSTYLE, GetWindowLong(black_hwnd, GWL_EXSTYLE) or WS_EX_LAYERED or WS_EX_TRANSPARENT or WS_EX_TOPMOST or WS_EX_NOACTIVATE);
Все нормально, но. При щелчке на кнопку Пуск, вся панель задач вместе с открытым меню Пуск появляется и через некоторое время исчезает.
Как можно жто предотвратить?
-
Пробовал ловить WM_WINDOWPOSCHANGED, но оно не приходит моему окну. Также не помогает глобальный хук через Dll на это сообщение с установкой PWindowPos(Msg.LParam)^.flags := SWP_NOZORDER;
-
Еще может кто знает как у Shell_TrayWnd убрать стиль WS_EX_TOPMOST? Этот код не работает.
h := FindWindowEx(0,0,'Shell_TrayWnd',nil);
SetWindowLong(h, GWL_EXSTYLE, WS_EX_LEFT or WS_EX_LTRREADING or WS_EX_RIGHTSCROLLBAR);
SetWindowLongPtr(h, GWL_EXSTYLE, WS_EX_LEFT or WS_EX_LTRREADING or WS_EX_RIGHTSCROLLBAR and not WS_EX_TOPMOST);
-
> Этот код не работает.
А с чего бы ему работать ?
Давить надо таких Кулибиных, чтобы не писали всякое, раз не могут.
-
Ваш ответ очень помог. Спасибо
|