VB.NET-NET是否使用*/Delete而不使用shell?

VB.NET-NET是否使用*/Delete而不使用shell?,vb.net,unc,Vb.net,Unc,我正在创建一个使用凭据连接到UNC网络路径的快速同步软件 如果可以避免的话,我需要尽量不使用shell 建立连接的代码如下所示: Dim nr As New NETRESOURCE nr.dwType = RESOURCETYPE_DISK nr.lpRemoteName = "\\fileserver.server.com\data" If WNetAddConnection2(nr, "pas", "server.com\user", 0) <> NO_ERROR Then

我正在创建一个使用凭据连接到UNC网络路径的快速同步软件

如果可以避免的话,我需要尽量不使用shell

建立连接的代码如下所示:

Dim nr As New NETRESOURCE
nr.dwType = RESOURCETYPE_DISK
nr.lpRemoteName = "\\fileserver.server.com\data"
If WNetAddConnection2(nr, "pas", "server.com\user", 0) <> NO_ERROR Then
    ' Throw New Exception("WNetAddConnection2 failed.")
End If
'Code to use connection here.'
If WNetCancelConnection2("\\fileserver.server.com\data", 0, True) <> NO_ERROR Then
    ' Throw New Exception("WNetCancelConnection2 failed.")
End If
同步完成后,我需要以Net Use*/delete的工作方式终止连接。如果可能,请不要断开任何映射的网络驱动器

在VB.NET中这样做简单吗


编辑。。。我想我正在寻找的代码就是我在上面发布的。。我的错

将4作为最后一个参数传递,以使连接成为临时连接。这样,即使您的程序崩溃或终止,驱动器映射也不会被记住。@MattWilko没有,但我来自埃塞克斯,我和这家伙有共同的朋友。@HansPassant谢谢,这很有意义。