Odswiezanie Pulpitu

0

moze napisze to troszke inaczej zeby lofix znowu nie skasowal :
jak po zmianie sciezki dostepu do pulpitu odsiezyc go (pulpit) tak zeby Od razu wczytal ikonki znajdujace sie w folderze probowalem juz :

1. procedure Refresh;
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; 
2. UpdateWindow(GetDesktopWindow); 
3. SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);

ale niestety zadna z nich nie dziala wiec moze ktos wie jak to zrobic lub przyajmniej mnie naprowadzi a moze tego po prostu sie nie da zrobic :-(

0

A czytałeś może o czyms takim jak InvalidateRect() ? O ile w ogóle to pomoże.

0
InvalidateRect(handle, nil, TRUE);
UpdateWindow(handel);

tego tez ale wydaje mi sie ze nie chodzi tu o przerysowanie a raczej o ponowne odczytanie informacji o katalogu z rejestru i wypisanie ikonek

jakies pomysly?

0

jak po zmianie sciezki dostepu do pulpitu odsiezyc go

A czy wciśnięcie tego F5 na pulpicie w ogóle wykonuje to o co ci chodzi ?

0

f5 nie wykonuje tego o co mi chodzi ale za to wylogowanie sie lub restart doskonale dzialaja ale wlasnie chodzi o to zeby nie restartowac ani sie nie wylogowywac

0

Tak a propoS uchwytu pulpitu to funkcja istnieje taka fajna funkcja:

GetDesktopWindow

Znacznie krotsze odwolanie :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1