Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 使用凭据连接远程PC_Vb.net_Vb6_Network Programming_Pinvoke - Fatal编程技术网

Vb.net 使用凭据连接远程PC

Vb.net 使用凭据连接远程PC,vb.net,vb6,network-programming,pinvoke,Vb.net,Vb6,Network Programming,Pinvoke,我一直试图使用已知凭据在同一网络上使用vb.net将远程PC连接到我的PC,但出现以下错误: 托管调试助手“PinvokeStackDistancement”:“调用PInvoke函数”WindowsApp1!WindowsApp1.Form1::WNetAddConnection2'已使堆栈不平衡。这可能是因为托管PInvoke签名与非托管目标签名不匹配。检查PInvoke签名的调用约定和参数是否与目标非托管签名匹配。' 而同样的代码在Vb6中完美地执行 代码: 在lon上引发异常,代码无法进

我一直试图使用已知凭据在同一网络上使用vb.net将远程PC连接到我的PC,但出现以下错误:

托管调试助手“PinvokeStackDistancement”:“调用PInvoke函数”WindowsApp1!WindowsApp1.Form1::WNetAddConnection2'已使堆栈不平衡。这可能是因为托管PInvoke签名与非托管目标签名不匹配。检查PInvoke签名的调用约定和参数是否与目标非托管签名匹配。'

而同样的代码在Vb6中完美地执行

代码:

在lon上引发异常,代码无法进一步执行

我不熟悉VB.net语言。任何帮助都会很有帮助

来自JQSOFT的评论:

在签名中将lpNetResource替换为NETRESOURCE

ByRef lpNetResource作为NETRESOURCE。。。因为这里的NETRESOURCE是一个 结构而不是类。另外,用整数替换任何Long


可能更容易处理。开始网络使用?在签名中将lpNetResource替换为NETRESOURCE。。。通过引用lpNetResource作为NETRESOURCE。。。因为这里的NETRESOURCE是一个结构而不是一个类。还有,用整数替换任何长的。对不起,我找不到你@如果你有一个新问题,请问一个新问题,不要从一个问题开始,然后在评论中开始问其他问题这个问题所问的原始问题已经解决了。出于同样的原因,我需要一个新的问题,我不能开始问如何打开我的计算机,然后将其更改为如何启动visual studio,然后如何加载我的项目,然后如何在linq中分组此列表-在linq中分组列表与打开我的计算机无关,即使我需要这样做,然后才能将列表分组
Private Declare Function WNetAddConnection2 Lib "mpr.dll" Alias "WNetAddConnection2A" (lpNetResource As NETRESOURCE, ByVal lpPassword As String, ByVal lpUserName As String, ByVal dwFlags As Long) As Long

Private Declare Function WNetCancelConnection2 Lib "mpr.dll" Alias "WNetCancelConnection2A" (ByVal lpName As String, ByVal dwFlags As Long, ByVal fForce As Long) As Long

Private Structure NETRESOURCE

    Dim dwType As Long
    Dim lpRemoteName As String

End Structure

Private Const RESOURCETYPE_DISK = &H1

Private Sub ConnectToPC()

    Dim networkResource As New NETRESOURCE
    Dim lon As Long

    With networkResource

        .dwType = RESOURCETYPE_DISK
        .lpRemoteName = "\\192.168.1.1"

    End With

    lon = WNetAddConnection2(networkResource, "123", "ADMIN", 0)

End Sub