2016-08-08 45 views
-4

我在我的代码C#中有问题。如果按主机名存在,我无法检查映射的网络驱动器。我可以用ping功能检查ip地址。但实际问题不是IP地址。我需要检查主机名。如何检查映射网络驱动器是否存在主机名C#

Ping ping = new Ping(); 
var reply = ping.Send("ADS-201"); 
if (reply.Status == IPStatus.Success) { 
    NetworkDrive oNetDrive = new NetworkDrive(); 
    oNetDrive.LocalDrive = "Z:"; 
    oNetDrive.ShareName = "\\\\ADS-201\\fileserver\\public"; 
    oNetDrive.MapDrive(); 
} 
+0

请发布您到目前为止尝试过的代码。谢谢 –

+0

显示基本网络连接(ping)只是能够使用映射驱动器的第一步(需要更多的网络堆栈)。你能否澄清你为什么这样做(以及你的意思是“检查”:存在还是更多)。想要避免[XY问题](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。 – Richard

+0

Ping ping = new Ping(); var reply = ping.Send(“ADS-201”); (reply.Status == IPStatus.Success) NetworkDrive oNetDrive = new NetworkDrive();如果(回复状态== IPStatus.Success) { oNetDrive.LocalDrive =“Z:”;oNetDrive.ShareName =“\\\\ ADS-201 \\ fileserver \\ public”; oNetDrive.MapDrive(); } – hitgroup

回答

0

这是一个答案:我的朋友弄明白了,我只是分享谁需要它。 var searchkers = new ManagementObjectSearcher( “root \ CIMV2”, “SELECT * FROM Win32_MappedLogicalDisk”); List gunler = new List(); (真) Thread.Sleep(60 * 1 * 100); gunler.Clear(); foreach(searcher.Get()中的ManagementObject queryObj) gunler.Add(queryObj [“ProviderName”] .ToString()。Substring(2,7)); //MessageBox.Show("Caption:“+ queryObj [”ProviderName“] +”---“+ queryObj [”FileSystem“]); }

   // Console.WriteLine("*** calling MyMethod *** "); 
       IPAddress ip = IPAddress.Parse("192.168.1.123"); 
       //IPAddress hostn = IPAddress.Parse("ADS-201"); 
       Ping ping = new Ping(); 
       var reply = ping.Send(ip); 
       // var hosreply = ping.Send(hostn); 
       if (reply.Status == IPStatus.Success) 
       { 

        if (gunler.Contains("ads-201") || gunler.Contains("ADS-201")) 
        { 
         MessageBox.Show("ADS-201 is exist"); 
        } 
        else 
        { 
         MessageBox.Show("ADS-201 does not exist!"); 

        } 



       } 
       else 
       { 
        MessageBox.Show("No ping to hostname!"); 
       } 
       // yuor_method(); 
      } 
     } 
     catch (Exception ex) 
     { 

      MessageBox.Show(ex.Message); 
     } 
相关问题