Ja, es geht mit der API. Das ist allerdings nicht einfach! (Ich habs noch nich probiert aber hier der Header)<P>so, nimm das als eignes Modul in dein Projekt (könnte noch was dazu kommen):<P>Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" _<BR> (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long<BR>Public Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" _<BR> (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, _<BR> ByVal samDesired As Long, phkResult As Long) As Long<BR>Public Declare Function RegQueryInfoKey Lib "advapi32.dll" Alias "RegQueryInfoKeyA" _<BR> (ByVal hKey As Long, ByVal lpClass As String, lpcbClass As Long, _<BR> ByVal lpReserved As Long, lpcSubKeys As Long, lpcbMaxSubKeyLen As Long, _<BR> lpcbMaxClassLen As Long, lpcValues As Long, lpcbMaxValueNameLen As Long, _<BR> lpcbMaxValueLen As Long, lpcbSecurityDescriptor As Long, lpftLastWriteTime As FILETIME) As Long<BR>Public Declare Function RegQueryValue Lib "advapi32.dll" Alias "RegQueryValueA" _<BR> (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpValue As String, lpcbValue As Long) As Long<BR>Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" _<BR> (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, _<BR> lpType As Long, lpData As Any, lpcbData As Long) As Long<BR>Public Declare Function RegReplaceKey Lib "advapi32.dll" Alias "RegReplaceKeyA" _<BR> (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpNewFile As String, _<BR> ByVal lpOldFile As String) As Long<BR>Public Declare Function RegRestoreKey Lib "advapi32.dll" Alias "RegRestoreKeyA" _<BR> (ByVal hKey As Long, ByVal lpFile As String, ByVal dwFlags As Long) As Long<BR>Public Declare Function RegSaveKey Lib "advapi32.dll" Alias "RegSaveKeyA" _<BR> (ByVal hKey As Long, ByVal lpFile As String, lpSecurityAttributes As SECURITY_ATTRIBUTES) As Long<BR>Public Declare Function RegSetKeySecurity Lib "advapi32.dll" _<BR> (ByVal hKey As Long, ByVal SecurityInformation As Long, pSecurityDescriptor As SECURITY_DESCRIPTOR) _<BR> As Long<BR>Public Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" _<BR> (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, _<BR> ByVal lpData As String, ByVal cbData As Long) As Long<BR>Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" _<BR> (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, _<BR> lpData As Any, ByVal cbData As Long) As Long<BR>Public Declare Function RegUnLoadKey Lib "advapi32.dll" Alias "RegUnLoadKeyA" _<BR> (ByVal hKey As Long, ByVal lpSubKey As String) As Long<BR>Public Declare Function RegNotifyChangeKeyValue Lib "advapi32.dll" _<BR> (ByVal hKey As Long, ByVal bWatchSubtree As Long, ByVal dwNotifyFilter As Long, _<BR> ByVal hEvent As Long, ByVal fAsynchronus As Long) As Long<BR>Public Declare Function RegLoadKey Lib "advapi32.dll" Alias "RegLoadKeyA" _<BR> (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpFile As String) As Long<P>Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long<BR>Public Declare Function RegConnectRegistry Lib "advapi32.dll" Alias "RegConnectRegistryA" _<BR> (ByVal lpMachineName As String, ByVal hKey As Long, phkResult As Long) As Long<BR>Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" _<BR> (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long<BR>Public Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" _<BR> (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, _<BR> ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, _<BR> lpSecurityAttributes As SECURITY_ATTRIBUTES, phkResult As Long, lpdwDisposition As Long) As Long<BR>Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" _<BR> (ByVal hKey As Long, ByVal lpSubKey As String) As Long<BR>Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" _<BR> (ByVal hKey As Long, ByVal lpValueName As String) As Long<BR>Public Declare Function RegEnumKey Lib "advapi32.dll" Alias "RegEnumKeyA" _<BR> (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, ByVal cbName As Long) As Long<BR>Public Declare Function RegEnumKeyEx Lib "advapi32.dll" Alias "RegEnumKeyExA" _<BR> (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, _<BR> lpcbName As Long, ByVal lpReserved As Long, ByVal lpClass As String, _<BR> lpcbClass As Long, lpftLastWriteTime As FILETIME) As Long<BR>Public Declare Function RegEnumValue Lib "advapi32.dll" Alias "RegEnumValueA" _<BR> (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpValueName As String, _<BR> lpcbValueName As Long, ByVal lpReserved As Long, lpType As Long, _<BR> lpData As Byte, lpcbData As Long) As Long<BR>Public Declare Function RegGetKeySecurity Lib "advapi32.dll" _<BR> (ByVal hKey As Long, ByVal SecurityInformation As Long, _<BR> pSecurityDescriptor As SECURITY_DESCRIPTOR, lpcbSecurityDescriptor As Long) As Long<BR>Public Declare Function RegFlushKey Lib "advapi32.dll" (ByVal hKey As Long) As Long<BR>Public Const HKEY_CLASSES_ROOT = &H80000000<BR>Public Const HKEY_CURRENT_CONFIG = &H80000005<BR>Public Const HKEY_CURRENT_USER = &H80000001<BR>Public Const HKEY_DYN_DATA = &H80000006<BR>Public Const HKEY_LOCAL_MACHINE = &H80000002<BR>Public Const HKEY_PERFORMANCE_DATA = &H80000004<BR>Public Const HKEY_USERS = &H80000003<P>Public Type ACL<BR> AclRevision As Byte<BR> Sbz1 As Byte<BR> AclSize As Integer<BR> AceCount As Integer<BR> Sbz2 As Integer<BR>End Type<BR>Public Type SECURITY_ATTRIBUTES<BR> nLength As Long<BR> lpSecurityDescriptor As Long<BR> bInheritHandle As Long<BR>End Type<BR>Public Type SECURITY_DESCRIPTOR<BR> Revision As Byte<BR> Sbz1 As Byte<BR> Control As Long<BR> Owner As Long<BR> Group As Long<BR> Sacl As ACL<BR> Dacl As ACL<BR>End Type<BR>Public Type FILETIME<BR> dwLowDateTime As Long<BR> dwHighDateTime As Long<BR>End Type<P>Public Const SYNCHRONIZE = &H100000<BR>Public Const READ_CONTROL = &H20000<BR>Public Const READ_WRITE = 2<BR>Public Const STANDARD_RIGHTS_ALL = &H1F0000<BR>Public Const STANDARD_RIGHTS_EXECUTE = (READ_CONTROL)<BR>Public Const STANDARD_RIGHTS_READ = (READ_CONTROL)<BR>Public Const STANDARD_RIGHTS_REQUIRED = &HF0000<BR>Public Const STANDARD_RIGHTS_WRITE = (READ_CONTROL)<BR>Public Const KEY_CREATE_LINK = &H20<BR>Public Const KEY_CREATE_SUB_KEY = &H4<BR>Public Const KEY_ENUMERATE_SUB_KEYS = &H8<BR>Public Const KEY_EVENT = &H1<BR>Public Const KEY_SET_VALUE = &H2<BR>Public Const KEY_QUERY_VALUE = &H1<BR>Public Const KEY_NOTIFY = &H10<BR>Public Const KEY_ALL_ACCESS = ((STANDARD_RIGHTS_ALL Or KEY_QUERY_VALUE Or _<BR> KEY_SET_VALUE Or KEY_CREATE_SUB_KEY Or KEY_ENUMERATE_SUB_KEYS Or _<BR> KEY_NOTIFY Or KEY_CREATE_LINK) And (Not SYNCHRONIZE))<BR>Public Const KEY_READ = ((STANDARD_RIGHTS_READ Or KEY_QUERY_VALUE Or _<BR> KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY) And (Not SYNCHRONIZE))<BR>Public Const KEY_EXECUTE = ((KEY_READ) And (Not SYNCHRONIZE))<BR>Public Const KEY_WRITE = ((STANDARD_RIGHTS_WRITE Or KEY_SET_VALUE Or _<BR> KEY_CREATE_SUB_KEY) And (Not SYNCHRONIZE))<P><BR>(Code vergisst beim Copy&Paste den LF)<P><BLOCKQUOTE><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><HR><pre><BR>Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" _<BR> (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long<BR>Public Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" _<BR> (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, _<BR> ByVal samDesired As Long, phkResult As Long) As Long<BR>Public Declare Function RegQueryInfoKey Lib "advapi32.dll" Alias "RegQueryInfoKeyA" _<BR> (ByVal hKey As Long, ByVal lpClass As String, lpcbClass As Long, _<BR> ByVal lpReserved As Long, lpcSubKeys As Long, lpcbMaxSubKeyLen As Long, _<BR> lpcbMaxClassLen As Long, lpcValues As Long, lpcbMaxValueNameLen As Long, _<BR> lpcbMaxValueLen As Long, lpcbSecurityDescriptor As Long, lpftLastWriteTime As FILETIME) As Long<BR>Public Declare Function RegQueryValue Lib "advapi32.dll" Alias "RegQueryValueA" _<BR> (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpValue As String, lpcbValue As Long) As Long<BR>Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" _<BR> (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, _<BR> lpType As Long, lpData As Any, lpcbData As Long) As Long<BR>Public Declare Function RegReplaceKey Lib "advapi32.dll" Alias "RegReplaceKeyA" _<BR> (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpNewFile As String, _<BR> ByVal lpOldFile As String) As Long<BR>Public Declare Function RegRestoreKey Lib "advapi32.dll" Alias "RegRestoreKeyA" _<BR> (ByVal hKey As Long, ByVal lpFile As String, ByVal dwFlags As Long) As Long<BR>Public Declare Function RegSaveKey Lib "advapi32.dll" Alias "RegSaveKeyA" _<BR> (ByVal hKey As Long, ByVal lpFile As String, lpSecurityAttributes As SECURITY_ATTRIBUTES) As Long<BR>Public Declare Function RegSetKeySecurity Lib "advapi32.dll" _<BR> (ByVal hKey As Long, ByVal SecurityInformation As Long, pSecurityDescriptor As SECURITY_DESCRIPTOR) _<BR> As Long<BR>Public Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" _<BR> (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, _<BR> ByVal lpData As String, ByVal cbData As Long) As Long<BR>Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" _<BR> (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, _<BR> lpData As Any, ByVal cbData As Long) As Long<BR>Public Declare Function RegUnLoadKey Lib "advapi32.dll" Alias "RegUnLoadKeyA" _<BR> (ByVal hKey As Long, ByVal lpSubKey As String) As Long<BR>Public Declare Function RegNotifyChangeKeyValue Lib "advapi32.dll" _<BR> (ByVal hKey As Long, ByVal bWatchSubtree As Long, ByVal dwNotifyFilter As Long, _<BR> ByVal hEvent As Long, ByVal fAsynchronus As Long) As Long<BR>Public Declare Function RegLoadKey Lib "advapi32.dll" Alias "RegLoadKeyA" _<BR> (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpFile As String) As Long<P>Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long<BR>Public Declare Function RegConnectRegistry Lib "advapi32.dll" Alias "RegConnectRegistryA" _<BR> (ByVal lpMachineName As String, ByVal hKey As Long, phkResult As Long) As Long<BR>Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" _<BR> (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long<BR>Public Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" _<BR> (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, _<BR> ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, _<BR> lpSecurityAttributes As SECURITY_ATTRIBUTES, phkResult As Long, lpdwDisposition As Long) As Long<BR>Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" _<BR> (ByVal hKey As Long, ByVal lpSubKey As String) As Long<BR>Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" _<BR> (ByVal hKey As Long, ByVal lpValueName As String) As Long<BR>Public Declare Function RegEnumKey Lib "advapi32.dll" Alias "RegEnumKeyA" _<BR> (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, ByVal cbName As Long) As Long<BR>Public Declare Function RegEnumKeyEx Lib "advapi32.dll" Alias "RegEnumKeyExA" _<BR> (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpName As String, _<BR> lpcbName As Long, ByVal lpReserved As Long, ByVal lpClass As String, _<BR> lpcbClass As Long, lpftLastWriteTime As FILETIME) As Long<BR>Public Declare Function RegEnumValue Lib "advapi32.dll" Alias "RegEnumValueA" _<BR> (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpValueName As String, _<BR> lpcbValueName As Long, ByVal lpReserved As Long, lpType As Long, _<BR> lpData As Byte, lpcbData As Long) As Long<BR>Public Declare Function RegGetKeySecurity Lib "advapi32.dll" _<BR> (ByVal hKey As Long, ByVal SecurityInformation As Long, _<BR> pSecurityDescriptor As SECURITY_DESCRIPTOR, lpcbSecurityDescriptor As Long) As Long<BR>Public Declare Function RegFlushKey Lib "advapi32.dll" (ByVal hKey As Long) As Long<BR>Public Const HKEY_CLASSES_ROOT = &H80000000<BR>Public Const HKEY_CURRENT_CONFIG = &H80000005<BR>Public Const HKEY_CURRENT_USER = &H80000001<BR>Public Const HKEY_DYN_DATA = &H80000006<BR>Public Const HKEY_LOCAL_MACHINE = &H80000002<BR>Public Const HKEY_PERFORMANCE_DATA = &H80000004<BR>Public Const HKEY_USERS = &H80000003<P>Public Type ACL<BR> AclRevision As Byte<BR> Sbz1 As Byte<BR> AclSize As Integer<BR> AceCount As Integer<BR> Sbz2 As Integer<BR>End Type<BR>Public Type SECURITY_ATTRIBUTES<BR> nLength As Long<BR> lpSecurityDescriptor As Long<BR> bInheritHandle As Long<BR>End Type<BR>Public Type SECURITY_DESCRIPTOR<BR> Revision As Byte<BR> Sbz1 As Byte<BR> Control As Long<BR> Owner As Long<BR> Group As Long<BR> Sacl As ACL<BR> Dacl As ACL<BR>End Type<BR>Public Type FILETIME<BR> dwLowDateTime As Long<BR> dwHighDateTime As Long<BR>End Type<P>Public Const SYNCHRONIZE = &H100000<BR>Public Const READ_CONTROL = &H20000<BR>Public Const READ_WRITE = 2<BR>Public Const STANDARD_RIGHTS_ALL = &H1F0000<BR>Public Const STANDARD_RIGHTS_EXECUTE = (READ_CONTROL)<BR>Public Const STANDARD_RIGHTS_READ = (READ_CONTROL)<BR>Public Const STANDARD_RIGHTS_REQUIRED = &HF0000<BR>Public Const STANDARD_RIGHTS_WRITE = (READ_CONTROL)<BR>Public Const KEY_CREATE_LINK = &H20<BR>Public Const KEY_CREATE_SUB_KEY = &H4<BR>Public Const KEY_ENUMERATE_SUB_KEYS = &H8<BR>Public Const KEY_EVENT = &H1<BR>Public Const KEY_SET_VALUE = &H2<BR>Public Const KEY_QUERY_VALUE = &H1<BR>Public Const KEY_NOTIFY = &H10<BR>Public Const KEY_ALL_ACCESS = ((STANDARD_RIGHTS_ALL Or KEY_QUERY_VALUE Or _<BR> KEY_SET_VALUE Or KEY_CREATE_SUB_KEY Or KEY_ENUMERATE_SUB_KEYS Or _<BR> KEY_NOTIFY Or KEY_CREATE_LINK) And (Not SYNCHRONIZE))<BR>Public Const KEY_READ = ((STANDARD_RIGHTS_READ Or KEY_QUERY_VALUE Or _<BR> KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY) And (Not SYNCHRONIZE))<BR>Public Const KEY_EXECUTE = ((KEY_READ) And (Not SYNCHRONIZE))<BR>Public Const KEY_WRITE = ((STANDARD_RIGHTS_WRITE Or KEY_SET_VALUE Or _<BR> KEY_CREATE_SUB_KEY) And (Not SYNCHRONIZE))<BR></pre><HR></BLOCKQUOTE><p>[ 02.10.2001: Beitrag editiert von: whiteheard ]
mfG whitehouse