【问题标题】:Map network drive: "net.exe USE" vs WshNetwork.MapNetworkDrive?映射网络驱动器:“net.exe USE”与 WshNetwork.MapNetworkDrive?
【发布时间】:2012-03-20 01:02:01
【问题描述】:

我希望在我的程序中映射一个驱动器。我的用户可以使用从 XP 开始的所有 Windows 版本。所以我需要最通用的方法。我之前使用过第一种方法,通常它对我来说效果很好。但是真的没有办法用它来捕捉错误(无论如何我都知道)。第二个很容易让我在它周围包裹一个 try/catch 块,但是对于我为方法 1 的替代方案所做的所有搜索,我只遇到过方法 2 一次。所以这让我想知道它对于如此多变的环境是否足够可靠。谁能告诉我方法 2 在大多数情况下是否安全?

方法一

Process.Start("net.exe", @"USE Z: \\server\share /user:domain\username password").WaitForExit();

引用 Windows 脚本宿主对象模型的方法 2

IWshNetwork_Class network = new IWshNetwork_Class(); 
network.MapNetworkDrive("k:", @"\\server\share");

【问题讨论】:

标签: c# windows networking


【解决方案1】:

另一种方法是调用实际的 Win32 api(WNetAddConnection2A、WNetCancelConnection2A 等)。 查看http://www.codeguru.com/csharp/csharp/cs_network/windowsservices/article.php/c12357/

【讨论】:

  • 如果它不使用第三方创建的类就完美了。我被禁止使用它们。
  • 你不需要使用他的类。您可以根据他的作品创建自己的作品。
猜你喜欢
  • 1970-01-01
  • 2021-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多