【问题标题】:Canceling Networkconnection using UNC Path使用 UNC 路径取消网络连接
【发布时间】:2014-04-16 08:32:00
【问题描述】:

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

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

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

我想在 C# 应用程序中使用 Windows 网络 API (WNetCancelConnection-Function) 实现此功能,但此功能也无法处理 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 也不起作用。

【问题讨论】:

  • 感谢您的回复,不幸的是,我已经尝试使用带有 unc 路径的 wnetcancelconnection2 -> exceprion,网络不存在...

标签: c# windows networking connection


【解决方案1】:

不看代码就不确定问题出在哪里。但是之后

net use \\192.168.1.45\ipc$

以下代码

#include "windows.h"

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

断开资源连接没有问题。

【讨论】:

  • 对不起,我错过了一些信息。现在我已经编辑了问题。
  • @Chill-X,也许你需要转义反斜杠
  • 再次感谢,但他们逃跑了,只是忘了提及:/
  • 问题还没有解决,但我已经尝试了@home 这些命令,它们正在工作,但在工作中却没有 - 我不明白
猜你喜欢
  • 1970-01-01
  • 2021-09-23
  • 1970-01-01
  • 1970-01-01
  • 2017-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-09
相关资源
最近更新 更多