Vb.net 当访问WOW6432节点时,RegOpenKeyEx返回2

Vb.net 当访问WOW6432节点时,RegOpenKeyEx返回2,vb.net,Vb.net,我尝试使用VB.net 2010从注册表读取所有卸载项。 因为我想知道密钥的修改日期,所以必须使用advapi32.DLL函数。 在my local系统上,也可以在远程注册表上读取注册表项和修改日期,但如果注册表项位于WOW6432节点下,则不能读取。尽管我将KEY\u QUERY\u值设置为KEY\u WOW64\u 32KEY 这是我的密码: Dim SubKey as String = "Software\Microsoft\Windows\CurrentVersion\Uninstall

我尝试使用VB.net 2010从注册表读取所有卸载项。 因为我想知道密钥的修改日期,所以必须使用advapi32.DLL函数。 在my local系统上,也可以在远程注册表上读取注册表项和修改日期,但如果注册表项位于WOW6432节点下,则不能读取。尽管我将KEY\u QUERY\u值设置为KEY\u WOW64\u 32KEY

这是我的密码:

Dim SubKey as String = "Software\Microsoft\Windows\CurrentVersion\Uninstall"
Dim hRemoteKey As IntPtr
Dim regkeyptr As Integer = RegConnectRegistry(tbServername.Text, New IntPtr(RegistryHive.LocalMachine), hRemoteKey)

Dim KEY_QUERY_VALUE as Integer = 1 + 512

Dim openregkeyResult As Integer = RegOpenKeyEx(HKEY_LOCAL_MACHINE, SubKey, 0, KEY_QUERY_VALUE, regkeyptr)
Dim lpftLastWriteTime As System.Runtime.InteropServices.ComTypes.FILETIME
Dim returnvalue As Integer = RegQueryInfoKey( _
regkeyptr, _
Nothing, _
Nothing, _
Nothing, _
Nothing, _
Nothing, _
Nothing, _
Nothing, _
Nothing, _
Nothing, _
Nothing, _
lpftLastWriteTime)