RT:
更改后注册表,如果不重新启动,如何让他立刻生效.
关闭Explorer无效.
使用注销的办法也没有效果
请问还有什么办法,只要不重新启动机器,什么办法都好^^

解决方案 »

  1.   

    试试强制刷新系统:
    uses shlobj;
    SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST + SHCNF_FLUSH, NIL, NIL);
      

  2.   

    在任务管理器中将explorer.exe结束掉应该可以的
      

  3.   

    有时,我用大概如下:
    SendMessageTimeout( (System.IntPtr)HWND_BROADCAST,WM_SETTINGCHANGE,0,"Environment",SMTO_BLOCK | SMTO_ABORTIFHUNG |SMTO_NOTIMEOUTIFNOTHUNG, SomeTimeoutValue, out result);自己修改成delphi代码试下,不过 
    ccrun(老妖)(www.ccrun.com) 的,似乎也不错
      

  4.   

    hoho,才看见,来晚了,都揭帖了.
    sendmessage(hwnd_broadcast,wm_settingchange,0,0);
    这个方法对非一次性载入的注册表项还是很管用的
    d7+xp(sp2)通过。
    楼主试试。