我正在尝试断开未映射到本地驱动器的网络连接(例如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不起作用。
答案 0 :(得分:1)
如果没有看到您的代码,不确定您的问题在哪里。但是之后
net use \\192.168.1.45\ipc$
以下代码
#include "windows.h"
void main(void){
WNetCancelConnection2("\\\\192.168.1.45\\ipc$",0,TRUE);
}
没有问题地断开资源。