1

我正在编写一个程序来监视远程目录,并且我使用 Windows API:WNetAddConnection。我用它来映射远程目录到 Z: 通过使用指定的用户/密码。

我把这个程序放到工作环境后,有人用explorer location "\192.168.XX\somedir" 登录了我监控的同一个目录,导致我的程序无法连接到这个目录,所以我不得不请这个人不要做这件事,但我不能强迫他们不做。

所以我想知道是否有办法断开所有其他连接,或者证明他们这样做,有人知道吗?

顺便说一句,我不是windows专家,我不知道windows网络的细节(或者这个bug的真正含义),谁能告诉我windows网络的文档在哪里?

4

4 回答 4

1
WNetCancelConnection2

但这并不是对人最友好的事情。

于 2009-03-25T08:35:10.680 回答
1

丑陋的选择:

您可以解析“net use”的输出,然后使用“net use /d”断开您不喜欢的连接

WNetCancelConnection2似乎是 net use /d 使用的 API)

于 2009-03-27T15:42:55.427 回答
0

不确定 API,但 net session /delete 会将所有打开的会话断开到共享。

于 2009-03-27T15:37:00.137 回答
0

可以按照以下步骤进行: 1、运行命令删除所有net用户和密码,命令为:rundll32.exe shell32.dll,Control_RunDLL keymgr.dll 2、删除所有net用户信息内存使用顺序: net use * /delete /y 或者您可以创建一个包含以下信息的 bat 文件:

@echo off
rundll32.exe shell32.dll,Control_RunDLL keymgr.dll
net use * /delete /y
net use * /delete /y
net use * /delete /y
net use * /delete /y
net use * /delete /y
net use * /delete /y

net use
net use
net use

net use * /delete /y
net use * /delete /y
net use * /delete /y
net use * /delete /y
net use * /delete /y
net use * /delete /y
于 2010-05-31T07:41:52.300 回答