Доброго времени суток! Народ, помогите пожалуйста, целый день бороздил гугл в поисках нужной инфы, и результата ноль...
Моя цель: выводить графику вместо обоев рабочего стола под иконками, в моём случае графика рисуется средствами OpenGL
варианты:
Код:
function GetDesktopListViewHandle: THandle;
var
S: String;
begin
Result := FindWindow('ProgMan', nil);
Result := GetWindow(Result, GW_CHILD);
Result := GetWindow(Result, GW_CHILD);
SetLength(S, 40);
GetClassName(Result, PChar(S), 39);
if PChar(S) <> 'SysListView32' then Result := 0;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
dc: HDC;
begin
dc := GetDC (GetDesktopListViewHandle);
Rectangle (dc, 10, 10, 110, 110);
ReleaseDC (Handle, dc);
DeleteDC (DC);
end;
и их подобные нужного результата не дают, рисуется поверх иконок
оверлей тоже не катит, так как на Win7 он работает только тогда когда выбран упрощённый стиль, и то с ужасными артефактами в области иконок.
Есть ли ещё рабочие варианты как это можно сделать? или придётся рисовать уже собственный рабочий стол и лепить его поверх стандартного