Jim*_*Del 6 c# windows networking
我想在我的程序中映射一个驱动器.我的用户可以使用XP上的每个版本的Windows.所以我需要最通用的方法.我之前使用过第一种方法,一般来说它对我有用.但是真的没有办法用它来捕捉错误(无论如何我都知道).第二个很容易让我在它周围包装一个try/catch块,但是对于我已经为方法1的替代方案做的所有搜索,我只运行方法2一次.所以这让我想知道它是否足够可靠以适应这种多变的环境.谁能告诉我方法2在大多数情况下是否安全?
方法1
Process.Start("net.exe", @"USE Z: \\server\share /user:domain\username password").WaitForExit();
Run Code Online (Sandbox Code Playgroud)
方法2引用Windows脚本宿主对象模型
IWshNetwork_Class network = new IWshNetwork_Class();
network.MapNetworkDrive("k:", @"\\server\share");
Run Code Online (Sandbox Code Playgroud)
另一种方法是调用实际的 Win32 api(WNetAddConnection2A、WNetCancelConnection2A 等)。查看http://www.codeguru.com/csharp/csharp/cs_network/windowsservices/article.php/c12357/