自己的设置确实不用重启就能生效呀.
但是一些跟系统有关的设置如何不用重启就生效,我也想知道.
但是一些跟系统有关的设置如何不用重启就生效,我也想知道.
解决方案 »
- 奇怪的问题
- 请问大家认为用那种方式连接oracle数据库最好?
- CSDN出现什么问题,怎么都25号以前的贴(问题)
- 为什么改了原码,编译之后,控件还是跟原来的一样
- 关于cbuilder中属性的问题!散分!来者有分,谢谢大家!
- 我已经安装了installshield 怎么没看到执行的exe文件,我该如何使用installshield 程序做一个安装程序?
- 请个位帮我看看,怎么回事
- 是不是我的问题太难了,没有人回答?
- 如何用OpenDialog1.Filter打开文件,并将文件中的内容付给变量text
- 我在学DELPHI的XML编程,请问少了MSXML2_TLB.DCU文件....
- sos(在delphi中如何在注册表中写入2进制值和16进制值????)
- 您会编写手机短信发送接收程序吗?
SHChangeNotify(SHCNE_ASSOCCHANGED,SHCNF_IDLIST+SHCNF_FLUSH,nil,nil);//刷新文件关联图标
其中SHChangeNotify还有多个地方可以刷新,具体的看帮助!
SHChangeNotify(SHCNE_ALLEVENTS , SHCNF_FLUSH,nil,nil);//发生所有的事件,系统应该刷新响应的项目
function SHUpdateRecycleBinIcon():boolean;stdcall;external 'shell32.dll' name 'SHUpdateRecycleBinIcon';//刷新回收站图标
SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);//通知系统设置改变
var
buf:pchar;
...
getmem(buf,SizeOfBuf);//
strpcopy(buf,'注册表的主键,例如Software\Microsoft\windows\currentversion\Explorer\ToolBar');
SendMessage(HWND_BROADCAST,WM_SETTINGCHANGE,0,buf);
//通知系统刷新响应的键值,如果前面的没有起作用,那么可以采用这个方法。
systemparametersinfo(SPI_SETDESKWALLPAPER,0,pchar(path),0);
//上面的是通知系统更改了墙纸,其中path为墙纸的路径。
同样,SystemParametersInfo()还可以对系统进行很多方面的刷新,例如更改了桌面的大小等等,你可以看看帮助,我不可能在这儿把所有的都写出来。就说这么多吧,希望你能举一反三。