求助。vb.net 部分api不成功的原因?
刚开始接触vb.net。
发现很多vb6能直接使用的api放在vb.net中调用失败了。
比如说 在vb6环境里以下方法可以使用,但是在vb.net中返回值不正确。
Private Declare Function RegOpenKeyEx Lib "advapi32.dll" _
Alias "RegOpenKeyExA" ( _
ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, _
ByVal samDesired As Long, phkResult As Long _
) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" ( _
ByVal hKey As Long _
) As Long
Private Declare Function RegQueryValueEx Lib "advapi32.dll" _
Alias "RegQueryValueExA" ( _
ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, _
lpType As Long, lpData As Any, lpcbData As Any _
) As Long
上面这些是用来对注册表进行操作的,现在找到vb.net中也封装了一些能对注册表进行读取的方法。
2楼还会贴出找不到替代方法的api。求各位大神指教。 API VB.NET
[解决办法]
imports System.Runtime.InteropServices 看看
[解决办法]
VB.NET中API声明有些不同,如Long类型要改成Integer等:
Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Integer, ByVal lpSubKey As String, ByVal ulOptions As Integer, ByVal samDesired As Integer, ByRef phkResult As Integer) As Integer
可以搜下看看
[解决办法]
http://www.pinvoke.net/default.aspx/advapi32.RegQueryValueEx