1// Registry Access Package 2// 2/17/96 by Michael Gouker 3// 4// This package defines commands to access the registry. 5// 09/07/01 SWB Common symbols moved to RegistryAPI.pkg, to share with cRegistry.pkg 6 7// All of these are now obosolete techniques. Use cRegistry.pkg (also note that 8// that the Windows_registry class no longer lives here. It has it's own package. 9 10Use RegistryAPI.pkg 11 12// This command retrieves the tree root of the registry and the default key path. 13 14#COMMAND GET_REGISTRY_ROOT "TO" _RUCE _RUCE . 15 !A [] $554 !2 !3 16#ENDCOMMAND 17 18// This command sets the tree root of the registry and the default key path. 19 20#COMMAND SET_REGISTRY_ROOT "TO" _RDUN _RDUN . 21 !A [] $553 !2 !3 22#ENDCOMMAND 23 24// This command retrieves the value associated with the application and 25// tag passed. If the tag is not found, then the return value will be 26// a null string. If the string is not found in the application, but 27// it is found in the [DEFAULTS] section, this string will be returned. 28// Usage: Get_Profile_String AppName TagName to ValueStr 29 30#COMMAND GET_PROFILE_STRING _RDUN _RDUN "TO" _RUCE . 31 !A [] $546 // cleans up 32 !A [] $542 !1 !2 33 !A [] $543 !4 34#ENDCOMMAND 35 36#COMMAND SET_PROFILE_STRING _RDUN _RDUN _RDN _G _G . 37 #IF (!0 = 5) 38 SET_FOREIGN_PROFILE_STRING !1 !2 !3 !4 !5 39 #ELSE 40 #IF (!0 = 4) 41 #IFSAME !3 TO 42 SET_FOREIGN_PROFILE_STRING "" !1 !2 !3 !4 43 #ELSE 44 SET_FOREIGN_PROFILE_STRING !1 !2 !3 TO !4 45 #ENDIF 46 #ELSE 47 #IF (!0 = 3) 48 SET_FOREIGN_PROFILE_STRING "" !1 !2 TO !3 49 #ENDIF 50 #ENDIF 51 #ENDIF 52#ENDCOMMAND 53 54#COMMAND GET_FOREIGN_PROFILE_STRING _RDUN _RDUN _RDUN "TO" _RUCE . 55 !A [] $544 !1 !2 // sets filename and app name 56 !A [] $542 !2 !3 // sets appname and tag 57 !A [] $543 !5 // stores return value 58 !A [] $546 // cleans up 59#ENDCOMMAND 60 61#COMMAND SET_FOREIGN_PROFILE_STRING _RDUN _RDUN _RU "TO" _RU . 62 !A [] $544 !1 !2 63 SET_PROFILE_APP_INFO !3 !5 !6 !7 !8 !9 64 !A [] $546 65#ENDCOMMAND 66 67#COMMAND SET_PROFILE_APP_INFO _RU _RU 68 #IF !0>0 69 !A [] $545 !1 !2 70 #IF !0>2 71 SET_PROFILE_APP_INFO !3 !4 !5 !6 !7 !8 !9 72 #ENDIF 73 #ENDIF 74#ENDCOMMAND 75 76#COMMAND SET_PROFILE_INT_APP_INFO _RU _RU 77 #IF !0>0 78 !A [] $55B !1 !2 79 #IF !0>2 80 SET_PROFILE_INT_APP_INFO !3 !4 !5 !6 !7 !8 !9 81 #ENDIF 82 #ENDIF 83#ENDCOMMAND 84 85#COMMAND REG_GET_DWORD _RDUN _RDUN _RDUN _RDU "TO" _RUCE . 86 87 !A [] $544 !1 !2 // sets filename and app name 88 !A [] $542 !2 !3 // sets appname and tag 89 !A [] $55A !4 !6 // sets default value and return value to store. 90 !A [] $546 // cleans up 91 92#ENDCOMMAND 93 94#COMMAND REG_SET_DWORD _RDUN _RDUN _RDUN "TO" _RU . 95 !A [] $544 !1 !2 // sets filename and app name 96 !A [] $542 !2 !3 // sets appname and tag 97 !A [] $55B !5 // sets value. 98 !A [] $546 // cleans up. 99#ENDCOMMAND 100 101#COMMAND REG_ENUM_KEY_INFO _RDUN 102// parameter 1 = callback object 103 !A [] $55C !1 104#ENDCOMMAND 105 106// Mike-S modification for recursion flag 107#COMMAND REG_ENUM_KEY _RDUN _RDUN 108 !A [] $55E !1 !2 // hKey, bRecurse - where to start enumerating. 109#ENDCOMMAND 110 111 112#COMMAND REG_ENUM_VALUE _RDUN 113 !A [] $55F !1 // hKey 114#ENDCOMMAND 115 116#COMMAND REG_CREATE_KEY _RDUN TO _RDUN 117 !A [] $560 !1 !3 // string fully qualified, return hKey 118#ENDCOMMAND 119 120#COMMAND REG_OPEN_KEY _RDUN TO _RDUN 121 !A [] $561 !1 !3 // string fully qualified, return hKey 122#ENDCOMMAND 123 124#COMMAND REG_CLOSE_KEY _RDUN 125 !A [] $562 !1 // hKey to close. 126#ENDCOMMAND 127 128#COMMAND REG_SET_ACCESS_RIGHTS TO _RDUN 129 !A [] $57a !2 // Rights set. 130#ENDCOMMAND 131 132#COMMAND REG_GET_ACCESS_RIGHTS TO _RDUN 133 !A [] $57b !2 // Access rights to registry. 134#ENDCOMMAND 135 136 137//************************************************************************ 138// Description: 139// Enumerate keys (one level) for a given tag under HKEY_LOCAL_MACHINE 140// 141// The function, EnumRegistryKey, takes a Tag (eg SOFTWARE\DFWIN40) and 142// 'returns' all sub-keys. This is achieved by passing the function a 143// call-back procedure-id. The call-back will take one parameter, a string, 144// that is the name of the sub-key. 145// 146// The return value is the number of sub-keys enumerated. 147// 148// Author: Stuart W. Booth 149//************************************************************************ 150 151 152#REPLACE REG_VALUE_NOT_EXIST -10101 153 154 155External_Function RegDeleteKey "RegDeleteKeyA" AdvApi32.dll ; 156 Handle hParentKey String sSubKeyToDeleteName Returns Dword 157 158// as of 12.0, the windows_registy object, which is obsolete, has been moved to its 159// own package. If you are using this, you now need to explicitly use it.