Witam.
Mam mały problem z wyświetlaniem tekstu na pulpicie.
Wyświetlam go za pomocą :
PAIN:
begin
InvalidateRect(GetDesktopListViewHandle,@r,true);
DC := BeginPaint(GetDesktopListViewHandle, PS);
SetBkMode(DC, TRANSPARENT);
SetTextColor(DC, RGB(255, 255, 255));
i:=1;
case dzien of
0: AssignFile(tf, 'plan/pn.pln');
1: AssignFile(tf, 'plan/wt.pln');
2: AssignFile(tf, 'plan/sr.pln');
3: AssignFile(tf, 'plan/cz.pln');
4: AssignFile(tf, 'plan/pt.pln');
end;
Reset(tf);
While not eof(tf) do
begin
Readln(tf, s);
i:= i +17;
TextOut(DC, 1024 - 200, i, Pchar(s), Length(s));
end;
CloseFile(tf);
EndPaint(GetDesktopListViewHandle, PS);
end;
Mój DLL'ka z hookiem wygląda tak:
If pcws.hwnd = GetDesktopListViewHandle then
case pcws.message of
WM_PAINT:
PostMessage(FindWindow('Program', nil), PAIN, 0, 0);
No i niby wszystko powinno działać, jednak gdy jakieś okno pokaże się na pulpicie bądź zasłoni częściowo napis, on znika.
Gdyby po zasłonięciu napisu znikał, dałoby się to przeżyć, ale jak np. otworze okienko gg, które jest na drugim końcu ekranu, mój napis nagle znika, czasem pojawia się po kliknięciu na pulpit, czasem sam.
Ogólnie wariuje.
Chciałbym zrobić zwykły napis, który po prostu by tam był, niezależnie od tego co jeszcze jest na pulpicie.
Pomocy !