..люди как в Microsoft Visual C++ 6.0 на чистом WinAPI написать, штобы программно обновить содержимое рабочего стола.. тоисть повторить то что происходит по нажатию F5
... include \masm32\include\shell32.inc includelib \masm32\lib\shell32.lib ... invoke SHChangeNotify, SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL
Это называется из пушки по воробьям. Эта функция обновляет иконки и кстати совсем не эквивалентна обновлению десктопа. Правильно так : UpdateWindow(GetDesktopWindow()); Хотя это тоже не эквивалентно F5 для Active Desktop.
http://www.codeguru.com.ua/article/a-181.html Вот это то, что надо. Только надо учесть, что в Висте Active Desktop-а нет. Code (Text): procedure RefreshDesktop; var h : THandle; begin h := FindWindow('ProgMan', nil); h := GetWindow(h, GW_CHILD); PostMessage(h, WM_KEYDOWN, VK_F5, 0); end;
.. мне нужно для WinXP sp2 а точнее я меняю названия корзины.. и хачу сразу увидить результат ане жать F5 .. ... окей щас попробую все варианты
Code (Text): ... #include "shlobj.h" ... SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL); ..спасибо заработало..http://eyeofthedemon.ucoz.com/load/1-1-0-5