Kiedyś znalazłem na necie kod który pozwala na manipulowanie pulpitem (rysowanie lub coś podobnego). Z tym że chodziło w nim o to aby dajmy na to rysować pod ikonami i przy odświeżaniu okna "wypociny" na pulpicie nie znikają.
Mam tu kawałek takiego kodu który coś wypisuje na pulpicie (na ikonach niestety) i jeśli zostanie to przysłonięte jakimś oknem to się ten tekst oczywiście "zepsuje". :/ Znika gdy się odświeża pulpit! ;-(
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);
begin
Canvas.Handle:=GetWindowDC(GetDesktopListViewHandle);
Canvas.TextOut(100, 100, 'Hello World!');
end;
Pytanie za 100 baksów: czy ktoś zna kod który potrafi pisać/rysować lub robić cokolwiek innego na pulpicie, tak żeby efekty działania tego kodu były trwałe.
Jako przykład podaje funkcje z AllPlayer'a -> "FullScrean na Pulpicie". [!!!]