这也是个好东东哟!!!
{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;