USING: ; IN: reg : with-registry-key ( quot -- ... ) ?????? ..open [ quot ] ..close... ; LIBRARY: advapi32 ! all reg* advapi functions from msdn FUNCTION: LONG RegDisablePredefinedCache ( void ) ; FUNCTION: LONG RegDisablePredefinedCacheEx ( void ) ; FUNCTION: LONG RegLoadAppKey ( LPCTSTR lpFile, PHKEY phkResult, REGSAM samDesired, DWORD dwOptions, DWORD Reserved ) ; FUNCTION: LONG RegOpenCurrentUser ( REGSAM samDesired, PHKEY phkResult ) ; FUNCTION: LONG RegOpenUserClassesRoot ( HANDLE hToken, DWORD dwOptions, REGSAM samDesired, PHKEY phkResult ) ; ! these take a key as one of the parameters: (I chose the unicode version of the function if there was one.) FUNCTION: LONG RegQueryValueExW ( HKEY hKey, LPCTSTR lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData ) ; FUNCTION: LONG RegCreateKeyExW ( HKEY hKey, LPCTSTR lpSubKey, DWORD Reserved, LPTSTR lpClass, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition ) ; FUNCTION: LONG RegCloseKey ( HKEY hKey ) ; FUNCTION: LONG RegConnectRegistryW ( LPCTSTR lpMachineName, HKEY hKey, PHKEY phkResult ) ; FUNCTION: LONG RegCopyTreeW ( HKEY hKeySrc, LPCTSTR lpSubKey, HKEY hKeyDest ) ; FUNCTION: LONG RegCreateKeyW ( HKEY hKey, LPCTSTR lpSubKey, PHKEY phkResult ) ; FUNCTION: LONG RegCreateKeyExW ( HKEY hKey, LPCTSTR lpSubKey, DWORD Reserved, LPTSTR lpClass, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition ) ; FUNCTION: LONG RegCreateKeyTransactedW ( HKEY hKey, LPCTSTR lpSubKey, DWORD Reserved, LPTSTR lpClass, DWORD dwOptions, REGSAM samDesired, const LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition, HANDLE hTransaction, PVOID pExtendedParemeter ) ; FUNCTION: LONG RegDeleteKeyW ( HKEY hKey, LPCTSTR lpSubKey ) ; FUNCTION: LONG RegDeleteKeyExW ( HKEY hKey, LPCTSTR lpSubKey, REGSAM samDesired, DWORD Reserved ) ; FUNCTION: LONG RegDeleteKeyTransactedW ( HKEY hKey, LPCTSTR lpSubKey, REGSAM samDesired, DWORD Reserved, HANDLE hTransaction, PVOID pExtendedParameter ) ; FUNCTION: LONG RegDeleteKeyValueW ( HKEY hKey, LPCTSTR lpSubKey, LPCTSTR lpValueName ) ; FUNCTION: LONG RegDeleteTreeW ( HKEY hKey, LPCTSTR lpSubKey ) ; FUNCTION: LONG RegDeleteValueW ( HKEY hKey, LPCTSTR lpValueName ) ; FUNCTION: LONG RegDisableReflectionKey ( HKEY hBase ) ; FUNCTION: LONG RegEnableReflectionKey ( HKEY hBase ) ; FUNCTION: LONG RegEnumKeyW ( HKEY hKey, DWORD dwIndex, LPTSTR lpName, DWORD cchName ) ; FUNCTION: LONG RegEnumKeyExW ( HKEY hKey, DWORD dwIndex, LPTSTR lpName, LPDWORD lpcName, LPDWORD lpReserved, LPTSTR lpClass, LPDWORD lpcClass, PFILETIME lpftLastWriteTime ) ; FUNCTION: LONG RegEnumValueW ( HKEY hKey, DWORD dwIndex, LPTSTR lpValueName, LPDWORD lpcchValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData ) ; FUNCTION: LONG RegFlushKeyW ( HKEY hKey ) ; FUNCTION: LONG RegGetValueW ( HKEY hkey, LPCTSTR lpSubKey, LPCTSTR lpValue, DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData ) ; FUNCTION: LONG RegLoadKeyW ( HKEY hKey, LPCTSTR lpSubKey, LPCTSTR lpFile ) ; FUNCTION: LONG RegLoadMUIStringW ( HKEY hKey, LPCTSTR pszValue, LPTSTR pszOutBuf, DWORD cbOutBuf, LPDWORD pcbData, DWORD Flags, LPCTSTR pszDirectory ) ; FUNCTION: LONG RegNotifyChangeKeyValue ( HKEY hKey, BOOL bWatchSubtree, DWORD dwNotifyFilter, HANDLE hEvent, BOOL fAsynchronous ) ; FUNCTION: LONG RegOpenKeyW ( HKEY hKey, LPCTSTR lpSubKey, PHKEY phkResult ) ; FUNCTION: LONG RegOpenKeyExW ( HKEY hKey, LPCTSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult ) ; FUNCTION: LONG RegOpenKeyTransactedW ( HKEY hKey, LPCTSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult, HANDLE hTransaction, PVOID pExtendedParameter ) ; FUNCTION: LONG RegOverridePredefKey ( HKEY hKey, HKEY hNewHKey ) ; FUNCTION: LONG RegQueryInfoKeyW ( HKEY hKey, LPTSTR lpClass, LPDWORD lpcClass, LPDWORD lpReserved, LPDWORD lpcSubKeys, LPDWORD lpcMaxSubKeyLen, LPDWORD lpcMaxClassLen, LPDWORD lpcValues, LPDWORD lpcMaxValueNameLen, LPDWORD lpcMaxValueLen, LPDWORD lpcbSecurityDescriptor, PFILETIME lpftLastWriteTime ) ; FUNCTION: LONG RegQueryMultipleValuesW ( HKEY hKey, PVALENT val_list, DWORD num_vals, LPTSTR lpValueBuf, LPDWORD ldwTotsize ) ; FUNCTION: LONG RegQueryReflectionKey ( HKEY hBase, BOOL *bIsReflectionDisabled ) ; FUNCTION: LONG RegQueryValueW ( HKEY hKey, LPCTSTR lpSubKey, LPTSTR lpValue, PLONG lpcbValue ) ; FUNCTION: LONG RegQueryValueExW ( HKEY hKey, LPCTSTR lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData ) ; FUNCTION: LONG RegReplaceKeyW ( HKEY hKey, LPCTSTR lpSubKey, LPCTSTR lpNewFile, LPCTSTR lpOldFile ) ; FUNCTION: LONG RegRestoreKeyW ( HKEY hKey, LPCTSTR lpFile, DWORD dwFlags ) ; FUNCTION: LONG RegSaveKeyW ( HKEY hKey, LPCTSTR lpFile, LPSECURITY_ATTRIBUTES lpSecurityAttributes ) ; FUNCTION: LONG RegSaveKeyExW ( HKEY hKey, LPCTSTR lpFile, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD Flags ) ; FUNCTION: LONG RegSetKeyValueW ( HKEY hKey, LPCTSTR lpSubKey, LPCTSTR lpValueName, DWORD dwType, LPCVOID lpData, DWORD cbData ) ; FUNCTION: LONG RegSetValueW ( HKEY hKey, LPCTSTR lpSubKey, DWORD dwType, LPCTSTR lpData, DWORD cbData ) ; FUNCTION: LONG RegSetValueExW ( HKEY hKey, LPCTSTR lpValueName, DWORD Reserved, DWORD dwType, const BYTE *lpData, DWORD cbData ) ; FUNCTION: LONG RegUnLoadKeyW ( HKEY hKey, LPCTSTR lpSubKey ) ;