[DllImport("advapi32.dll", CharSet = CharSet.Unicode, EntryPoint = "RegOpenKeyEx")]
static extern int RegOpenKeyEx(
UIntPtr hKey,
string subKey,
uint options,
int sam,
out UIntPtr phkResult );
Declare Auto Function RegOpenKeyEx Lib "advapi32.dll" (
ByVal hKey As IntPtr,
ByVal lpSubKey As String,
ByVal ulOptions As Integer,
ByVal samDesired As Integer,
ByRef phkResult As Integer
) As Integer
None.
When invoking with IntPtr for the handles, you will run into an Overflow. UIntPtr is the right choice.
If the function fails, the return value is a nonzero error code defined in Winerror.h. You can use the FormatMessage function with the FORMAT_MESSAGE_FROM_SYSTEM flag to get a generic description of the error.
uint options: reserved, must be zero.
int sam: access mask that specifies the desired access rights to the key.
values for sam:
Const KEY_QUERY_VALUE = &H1
Const KEY_SET_VALUE = &H2
Const KEY_CREATE_SUB_KEY = &H4
Const KEY_ENUMERATE_SUB_KEYS = &H8
Const KEY_NOTIFY = &H10
Const KEY_CREATE_LINK = &H20
Const KEY_WOW64_32KEY = &H200
Const KEY_WOW64_64KEY = &H100
Const KEY_WOW64_RES = &H300
For compatibility with 16-bit versions of Windows only 'RegOpenKey' is available.
Please add some!!
Please add some!!
Microsoft.Win32.Registry.BaseKeyName.OpenSubKey("[KeyName]")