::SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, NULL, NULL);//使更改注册表后立即生效
此句函数我用在我的Home版的XP系统中是有效的,能立即显出更改注册表后的效果,而我将此程序在我的Professional版的XP中使用时,效果却不能立即显现,请问是为什么?
有高手帮我吗?
此句函数我用在我的Home版的XP系统中是有效的,能立即显出更改注册表后的效果,而我将此程序在我的Professional版的XP中使用时,效果却不能立即显现,请问是为什么?
有高手帮我吗?
我已在代码中加入了以下代码:
DWORD dwResult;
LPCTSTR lpData = _T("Policy");
SendMessageTimeout(HWND_BROADCAST,WM_SETTINGCHANGE,NULL,(LPARAM)(LPTSTR)lpData,SMTO_NORMAL,1000,&dwResult);
去除开始菜单中运行之类的倒是可以的,可我修改桌面快捷方式的箭头时效果还是没有,不知是怎么回事?请楼上帮忙解释一下!谢谢了!
#pragma comment ( lib, "shell32.lib" )
SHChangeNotify( SHCNE_ASSOCCHANGED, SHCNF_FLUSHNOWAIT, 0, 0 );