浏览代码

* Fixed HKEY_xxx defines for win64. For example HKEY_CLASSES_ROOT should be $FFFFFFFF80000000 on win64 instead of $80000000. Most registry API functions accept invalid HKEY_xxx values. But some registry functions like RegOverridePredefKey() require proper values. I had spent several hours fighting with RegOverridePredefKey() on win64 until I have found what had been wrong.

git-svn-id: trunk@23205 -
yury 12 年之前
父节点
当前提交
2012220aec
共有 1 个文件被更改,包括 7 次插入7 次删除
  1. 7 7
      rtl/win/wininc/defines.inc

+ 7 - 7
rtl/win/wininc/defines.inc

@@ -2337,13 +2337,13 @@
      RDW_ALLCHILDREN = 128;
      RDW_NOCHILDREN = 64;
   { RegCreateKey  }
-     HKEY_CLASSES_ROOT = HKEY($80000000);
-     HKEY_CURRENT_USER = HKEY($80000001);
-     HKEY_LOCAL_MACHINE = HKEY($80000002);
-     HKEY_USERS = HKEY($80000003);
-     HKEY_PERFORMANCE_DATA = HKEY($80000004);
-     HKEY_CURRENT_CONFIG = HKEY($80000005);	
-     HKEY_DYN_DATA = HKEY($80000006);
+     HKEY_CLASSES_ROOT = HKEY(longint($80000000));
+     HKEY_CURRENT_USER = HKEY(longint($80000001));
+     HKEY_LOCAL_MACHINE = HKEY(longint($80000002));
+     HKEY_USERS = HKEY(longint($80000003));
+     HKEY_PERFORMANCE_DATA = HKEY(longint($80000004));
+     HKEY_CURRENT_CONFIG = HKEY(longint($80000005));
+     HKEY_DYN_DATA = HKEY(longint($80000006));
 
 Type
     SE_OBJECT_TYPE = (   // enum in Delphi apparantly.