delphi2007 教程

delphi2007 教程

首页 新随笔 联系 聚合 管理
  1013 Posts :: 0 Stories :: 28 Comments :: 0 Trackbacks
请问如何获得这个键值? Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiAPI/html/delphi_20061117005510214.html
我想在这个键下面通过程序设置Windows的自动更新,但不知道怎么取得“{C611B475-175A-4114-9ABD-F37B85A06F22}”这个值,好象这个值每个用户下都不一样  
  HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Group   Policy   Objects\{C611B475-175A-4114-9ABD-F37B85A06F22}Machine\Software\Policies\Microsoft\Windows\WindowsUpdate

用RegEnumKeyEx枚举HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Group   Policy   Objects\   下的所以键名,找到你要的键名再取键值。

但是对于一个新创建的用户来说不存在“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Group   Policy   Objects”这个键值,这个键值是当用gpedit.msc设置了组策略后才产生的。

枚举前先判断它键是否存在,参考一下TRegistry.KeyExists的实现方法。

老之把思路都已经说了,具体实现自然要进行一些流程上的判断。  
   
   
  顺便说一句:老之还在CSDN混呢

可能是我没有说清楚,我是想在“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Group   Policy   Objects\{C611B475-175A-4114-9ABD-F37B85A06F22}Machine\Software\Policies\Microsoft\Windows\WindowsUpdate”这个键下写些值,如果存在这个键的时候可以用“老之”的枚举方法,但如果这个键不存在时,我要自己创建这个键,但问题是不知道{C611B475-175A-4114-9ABD-F37B85A06F22}这个值是怎么产生的,而每个用户下这个值又是不同的。

如果是创建这个键,试下:  
  uses   ComObj,   ActiveX;  
   
  var   Guid   :   TGUID;  
          Key   :   string;  
   
    CoCreateGuid(Guid);  
    Key   :=   GUIDToString(Guid);

感谢各位的帮助,谢谢!

posted on 2009-02-03 09:50 delphi2007 阅读(206) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。