Jak z Delphi odświeżyć pulpit? Będę zobowiązany za pomoc.
Pozdrawiam Hag
Jak z Delphi odświeżyć pulpit? Będę zobowiązany za pomoc.
Pozdrawiam Hag
Mozliwe, ze SendMessage(GetDesktopWindow, WM_PAINT, 1, 1) zadziala. Nie jestem tego do konca przekonany. wyprobuj to:)
Można tez zasymulować wciśniecie klawiszy: WIN+M(chyba wiadomo o co chodzi) widziałem gdzies przyklad taki na torry.net
//rrr = rect ekranu
redrawWindow(0, @rrr, CreateRectRgn(0, 0, Screen.Width, Screen.Height), 129);
[browar]
Lub:
UpdateWindow(GetDesktopWindow);
{1.}
uses
ShlObj;
procedure RefreshDesktop1;
begin
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);
end;
{2.}
procedure RefreshDesktop2;
var
hDesktop: HWND;
begin
hDesktop := FindWindowEx(FindWindowEx(FindWindow('Progman', 'Program Manager'), 0,
'SHELLDLL_DefView', ), 0, 'SysListView32',
);
PostMessage(hDesktop, WM_KEYDOWN, VK_F5, 0);
PostMessage(hDesktop, WM_KEYUP, VK_F5, 1 shl 31);
end;