Как программно обновить Рабочий стол в Windows? Т. е. сделать то, что происходит при нажатии F5 на Рабочем столе.
vg Код (Text): #include <windows.h> #include <wininet.h> #include <shlobj.h> int UpdateActiveDesktop(void) { int Result = 0; IActiveDesktop *pActiveDesktop; if (S_OK == CoCreateInstance(CLSID_ActiveDesktop, NULL, CLSCTX_INPROC_SERVER, IID_IActiveDesktop, (void**)&pActiveDesktop)) { if (S_OK == pActiveDesktop->ApplyChanges(AD_APPLY_ALL | AD_APPLY_FORCE)) Result = 1; pActiveDesktop->Release(); } return Result; } int main(void) { CoInitialize(NULL); UpdateActiveDesktop(); CoUninitialize(); return 0; }
После перезагрузки, думаю, обновится А вообще кривой способ удаления обоев. Юзай SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, NULL,0)