有人说可以用
SendMessage(FindWindow('Progman', 'Program Manager'), WM_COMMAND, 106597,
0); 但是没有任何作用。

解决方案 »

  1.   

    var c1:THandle;
    ------------------------------刷新桌面
    c1:=FindWindowEx(FindWindowEx(windows.FindWindow('Progman','Program  Manager'),0,'SHELLDLL_DefView',''),0,'SysListView32','');
         PostMessage(c1,WM_KEYDOWN,VK_F5,0);
         PostMessage(c1,WM_KEYUP,VK_F5,1 shl 31);
      

  2.   

    //try
    uses ShlObj;procedure TForm1.Button1Click(Sender: TObject);
    begin
      SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);
    end;