【发布时间】: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");
【问题讨论】:
-
我喜欢#2。它看起来更干净,并且作为 API 的一部分提供。但是,能够指定凭据等怎么样?
-
是的,您可以使用凭据。为了清楚起见,我只是把它省略了。
-
网络使用的更好做法:stackoverflow.com/questions/8919/…
-
任何带有完整源代码示例的最终解决方案?
标签: c# windows networking