请问如何获得这个键值?

请问如何获得这个键值? 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:44  delphi2007  阅读(186)  评论(0编辑  收藏  举报