- 帖子
- 288
- 积分
- 415
- 技术
- 1
- 捐助
- 0
- 注册时间
- 2011-1-20
|
[注册表类] [已解决]如何用32位的应用程序去读写64位系统的注册表??
本帖最后由 locoman 于 2021-9-6 23:24 编辑
如何用32位的应用程序去读写64位系统的注册表??
需求:
通过查询注册表值去判断检查“要使用本机,用户需输入用户名和密码(E)”项的勾选状态。
REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "AutoAdminLogon" | find "AutoAdminLogon"
但是,但是,这条语句是放在一个32位的应用程序中去读取系统注册表的。
经过实测发现:
1. 在WIN7-32位中,一切正常。
2. 在win10-64位中,就读取不到了!!
win10-64位中实测发现:
1. 未能正常读取(结果是空白的);
2. 实测发现:这个32位应用程序在上面的查询代码下,却是去读取了另一个位置的信息了——
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Winlogon
所以,读取不到所需信息的!!
——通过实际对比发现:这个32位程序在WIN10-64位中读取时,自动在代码中间多了一串东东\WOW6432Node。
——那么,将原来的代码也串上\WOW6432Node,这个32位程序是能读取到信息了,但是,但是,它的信息根本与“要使用本机,用户需输入用户名和密码(E)”项的勾选状态并无关系,所以,没有任何实际作用,目标不能实现了。
——在WIN10-64中,真正与“要使用本机,用户需输入用户名和密码(E)”项的勾选状态关联的还是原来那个代码中注册表的位置("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "AutoAdminLogon")。
——请教:
那个32位的应用程序是没法弃用和改变的了,请教可否通过代码调整,在WIN10-64位中读取到真正有效的"AutoAdminLogon"值呢??
问过很多人都没有高招,这里的大神多也很热心,还是在这里求助,看看是否有变通之法??
|
|