使用UNC路径取消网络连接

时间:2014-04-16 08:32:01

标签: c# windows networking connection

我正在尝试断开未映射到本地驱动器的网络连接(例如net use \ server \ share)。

我知道命令net使用U:/ D来删除映射到U的网络连接:。

现在我想使用它的UNC路径断开连接(例如net use \ server \ / D)。

我想在使用Windows Networking API(WNetCancelConnection-Function)的C#应用​​程序中实现它,但是这个函数也不能处理UNC路径。

我使用以下代码接收所有连接的UNC路径:

var searcher = new ManagementObjectSearcher(
        "SELECT * FROM Win32_NetworkConnection");

        foreach (ManagementObject queryObj in searcher.Get())
        {
            Console.WriteLine(queryObj["RemoteName"]);
            Console.WriteLine(queryObj["RemotePath"]);
        }
        Console.ReadKey();

希望如此能帮助我解决这个问题。

编辑:

i = WNetCancelConnection2A(ls_ShareName, iFlags, 1);

ls_ShareName =“\\ server \ share”(已转义) iFlags = 0

结果:此网络连接不存在。

我100%确定我的“shareName”是正确的...还有net use \ server \ share / D不起作用。

1 个答案:

答案 0 :(得分:1)

如果没有看到您的代码,不确定您的问题在哪里。但是之后

net use \\192.168.1.45\ipc$

以下代码

#include "windows.h"

void main(void){
    WNetCancelConnection2("\\\\192.168.1.45\\ipc$",0,TRUE);
}

没有问题地断开资源。