The Registry is modified as follows: [HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Adv anced] www.2cto.com "Hidden" = dword: 00000002 // Hide File "Hidden" = dword: 00000001 // show all files "Hidden" = dword: 00000000 // do not display system files or hide files "ShowCompColor" = dword: 00000000 "HideFileExt" = dword: 00000001 // hide the extensions of known types "ShowInfoTip" = dword: 00000001 // The prompt message "ClassicViewState" = dword: 00000000 is displayed when you point to the folder and desktop After the View sets vc to update the registry, automatically refresh the desktop in two steps. The first step is to allow explorer to re-read information from the registry, and the second step is to refresh the desktop. The Code is as follows: void crefreshjavaserdlg (){:: SHChangeNotify (shcn_assocchanged, SHCNF_IDLIST | SHCNF_FLUSH, 0, 0); HWND hWndProgram =: FindWindow (_ T ("Progman"), NULL); HWND hWndDefView = :: find1_wex (hWndProgram, NULL, _ T ("SHELLDLL_DefView"), NULL); HWND hWndListView =: find1_wex (hWndDefView, NULL, _ T ("SysListView32"), NU LL); reply: PostMessage (hWndListView, WM_KEYDOWN, VK_F5, 0);: PostMessage (hWndListView, WM_KEYUP, VK_F5, 0);} Try SendMessage (HWND_BROADCAST, WM_SETTINGCHANGE, NULL, NULL); if you use SystemParametersInfo to modify system settings, the last parameter should be set to SPIF_SENDWININICHANGE. However, not all operations can take effect immediately. There is so much information in the registry. The key is what you modified and whether your program is interested. For system settings, try: www.2cto.com DWORD result; SendMessageTimeout (HWND_BROADCAST, WM_SETTINGCHANGE, NULL, NULL, struct | SMTO_BLOCK, 3000, // timeout in milliseconds & result); Author: IMGTN