32位程序操作64位系统注册表,控制转向问题

网上有很多关于 32 位程序操作 64 位系统的文章,都是用 Wow64DisableWow64FsRedirectionWow64RevertWow64FsRedirection 来关闭打开文件系统转向。当然了,这个不好使,关闭打开的只是文件系统的转向,对于注册表操作不起作用。这个问题困扰了我好几年,从用上 Win7x64 开始就是。这几天又在网上查资料,突然发现两个常数,试了一下,有效!

' 注册表关键字安全选项...
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 KEY_CREATE_LINK = &H20
Private Const KEY_READ = KEY_QUERY_VALUE + KEY_ENUMERATE_SUB_KEYS + KEY_NOTIFY + READ_CONTROL
Private Const KEY_WRITE = KEY_SET_VALUE + KEY_CREATE_SUB_KEY + READ_CONTROL
Private Const KEY_EXECUTE = KEY_READ
Private Const KEY_ALL_ACCESS = KEY_QUERY_VALUE + KEY_SET_VALUE + KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL
Private Const KEY_WOW64_64KEY = &H100&
Private Const KEY_WOW64_32KEY = &H200&

对了,就是 KEY_WOW64_64KEY 和 KEY_WOW64_32KEY 这两个常量。
KEY_WOW64_64KEY 可以使 32 位程序在 64 位系统中正常操作注册表的 64 位部分。
KEY_WOW64_32KEY 则可以使 64 位程序去操作注册表的 32 位部分。
当然啦,对于 VB6 来说,KEY_WOW64_64KEY 就够用了。

举个粟子:

RegOpenKeyEx HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 0, KEY_ALL_ACCESS Or KEY_WOW64_64KEY, hKey
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有虞先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值