RegSetValueEx返回“访问被拒绝”,尽管regedit允许相同的用户编辑这个值

RegSetValueEx返回“访问被拒绝”,尽管regedit允许相同的用户编辑这个值

我们的VB6遗留应用程序调用RegSetValueEx来设置注册表值。可以使用regedit轻松地设置此注册表值。但是,当我们的应用程序试图设置它时,RegSetValueEx返回5-访问被拒绝。

我们使用相同的代码写入其他注册表项,一切都正常。此外,用户是本地管理员。

密钥是使用KEY_ALL_ACCESS打开的,但我尝试使用(KEY_READ或KEY_WRITE),但这也不起作用。

代码语言:javascript运行复制Private Const READ_CONTROL = &H20000

Private Const KEY_QUERY_VALUE = &H1

Private Const KEY_SET_VALUE = &H2

Private Const KEY_CREATE_SUB_KEY = &H4

Private Const KEY_ENUMERATE_SUB_KEYS = &H8

Private Const KEY_NOTIFY = &H10

Private Const SYNCHRONIZE = &H100000

Private Const STANDARD_RIGHTS_ALL = &H1F0000

Private Const STANDARD_RIGHTS_EXECUTE = (READ_CONTROL)

Private Const STANDARD_RIGHTS_READ = (READ_CONTROL)

Private Const STANDARD_RIGHTS_REQUIRED = &HF0000

Private Const STANDARD_RIGHTS_WRITE = (READ_CONTROL)

Private Const KEY_READ = ((STANDARD_RIGHTS_READ Or KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY) And (Not SYNCHRONIZE))

Private Const KEY_WRITE = ((STANDARD_RIGHTS_WRITE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY) And (Not SYNCHRONIZE))

Private Const KEY_CREATE_LINK = &H20

Private Const KEY_ALL_ACCESS = &H3F

Private Const REG_OPTION_NON_VOLATILE = 0&

Private Const HKEY_LOCAL_MACHINE = &H80000002

Dim hKey As Long

Dim e As Long

Dim lCreate As Long

Dim tSA As SECURITY_ATTRIBUTES

Dim keyOpened As Boolean

e = RegCreateKeyEx(HKEY_LOCAL_MACHINE , "SOFTWARE\Classes\Word.Document.8", 0, "", REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, tSA, hKey, lCreate)

e = RegSetValueExLong(hKey, "BrowerFlags", 0&, REG_DWORD, newValue, 4)

相关推荐

365彩票所有官方app下载平台 lol猫咪是哪个势力的?

lol猫咪是哪个势力的?

📅 07-14 👁️ 3240
365bet提款多少时间 买了基金一直亏,到底多久能回本?
365beat中文版 野洵/闺蜜喜收藏/禁二传

野洵/闺蜜喜收藏/禁二传

📅 07-24 👁️ 6601