Я хочу написать приложение, окно которого должно располагаться под всеми окнами (like Desktop). На delphi.mastak.ru я нашёл вот что:
procedure WMWindowPosChanging(var Message:TWMWindowPosChanging); message WM_WINDOWPOSCHANGING;
//а вот это в implementation
procedure TForm1.WMWindowPosChanging(var Message:TWMWindowPosChanging);
begin
with message.WindowPos^ do flags:=flags or SWP_NOZORDER;
inherited;
end;
Это работает, но мне это нужно сделать без VCL. Пробовал сделать так:
...
WM_WINDOWPOSCHANGING:
...
SetWindowPos (hwnd, 0, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER);
...
// или так:
WINDOWPOS * ppos = (WINDOWPOS*) lparam;
ppos->flags |= SWP_NOZORDER;
...
— не работает.
У меня пока так:
SetWindowPos (hwnd, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
Так работает, но при клике на моём десктопе десктоп перерисовывается (выходит на передний план) и потом уходит под все окна.
Заранее благодарю за помощь.
P.S.
Поиск по сайту не помог, по инету — тоже...
В исходниках VCL ничего не понял.