最新问答 更多

关注我们

关注我们

了解我们的产品和服务,有任何疑问、意见或合作需求,可关注本微博与我们在线沟通。

盒子问答悬赏微博

[单人中标] 怎么让系统生效

分享任务:
√ 问题已解决
50
发布者 luckyso
浏览量
回答数 2

任务详情

reg:=TRegistry.Create; reg.RootKey:=HKEY_CURRENT_USER;
reg.DeleteKey('Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU');
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NiL, NiL); //刷新
删除运行记录后刷新不起作用...不知道是不是我电脑的原因
  • KKKMMM:  32位WIN7环境,执行上面代码再次WIN+R运行,已经没有了历史记录.另外,楼主的  SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NiL, NiL); 这句只是通知系统有文件类型关联已进行了更改.
    
    
    
    另外,楼主可以尝试下面这个SendMessage方法.
    
    
    
    
    with TRegistry.Create do
    try
    RootKey := HKEY_CURRENT_USER;
    DeleteKey('Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU');
    SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);
    finally
    Free;
    end; 最后,如果可以的话,可以强制结束并重启Explorer.exe进程来重新加载注册表值.不过这种方法可能会导致本次会话的部分程序的托盘图标丢失.

      回答于:2012/8/17 11:15:42      #1楼 奖励火柴:50
    用户头像
  • ADODB.Field 错误 '800a0bcd'

    BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。

    /View.asp,行 759