狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C#獲取本機IP搜集整理7種方法

admin
2018年9月8日 16:29 本文熱度 5592

 private void GetIP()
 {
     string hostName = Dns.GetHostName();//本機名
     //System.Net.IPAddress[] addressList = Dns.GetHostByName(hostName).AddressList;//會警告GetHostByName()已過期,我運行時且只返回了一個IPv4的地址
     System.Net.IPAddress[] addressList = Dns.GetHostAddresses(hostName);//會返回所有地址,包括IPv4和IPv6
     foreach (IPAddress ip in addressList)
     {
         listBox1.Items.Add(ip.ToString());
     }


②使用IPHostEntry獲取本機局域網地址

static string GetLocalIp()
{
 string hostname = Dns.GetHostName();//得到本機名
 //IPHostEntry localhost = Dns.GetHostByName(hostname);//方法已過期,只得到IPv4的地址
 IPHostEntry localhost = Dns.GetHostEntry(hostname);
 IPAddress localaddr = localhost.AddressList[0];
 return localaddr.ToString();
}


③獲取本機網絡ip地址

 方法時通過向網站向一些提供IP查詢的網站發送webrequest,然后分析返回的數據流

string strUrl = "提供IP查詢的網站的鏈接";
Uri uri = new Uri(strUrl);
WebRequest webreq = WebRequest.Create(uri);
Stream s = webreq .GetResponse().GetResponseStream();
StreamReader sr = new StreamReader(s, Encoding.Default);
string all = sr.ReadToEnd();
int i = all.IndexOf("[") + 1;
//分析字符串得到IP
return ip;
/*
我用的是http://www.ip.cn/getip.php?action=getip&ip_url=&from=web
(這種鏈接很容易找的,百度“IP”得到一些網站,分析一下網站的鏈接就能得到)
返回的數據是:
<div class="well"><p>當前 IP:<code>0.0.0.0</code>&nbsp;來自:XX省XX市 電信</p><p>GeoIP: Beijing, China</p></div>
解析這段就行
*/


④//由于用到了ManagementClass、ManagementObjectCollection;必須添加引用System.Management.dll及using System.Management;
private void GetIP2()
{
  string stringMAC = "";
  string stringIP = "";
  ManagementClass managementClass = new ManagementClass("Win32_NetworkAdapterConfiguration");
  ManagementObjectCollection managementObjectCollection = managementClass.GetInstances();
  foreach(ManagementObject managementObject in managementObjectCollection)
  {
      if ((bool)managementObject["IPEnabled"] == true)
     {
         stringMAC += managementObject["MACAddress"].ToString();
         string[] IPAddresses = (string[])managementObject["IPAddress"];
         if (IPAddresses.Length > 0)
         {
             stringIP = IPAddresses[0];
         }
     }
  }
  txtMAC.Text = stringMAC.ToString();
  txtIP.Text = stringIP.ToString();
}


⑤調用一個網站提供的Web服務來查詢IP網址:http://www.webxml.com.cn/zh_cn/web_services.aspx
服務:http://webservice.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx
弄了好半天,但是沒學會怎樣調用Web Service,按照搜到的頁面做也不行,遂先放棄吧.....
畢竟還未接觸到WebService,改天把WebService搞定再來一定就容易了(留待以后完善吧)

⑥通過獲取CMD里ipconfig命令的結果來得到IP

private void GetIP6()
{
  Process cmd = new Process();
  cmd.StartInfo.FileName = "ipconfig.exe";//設置程序名
  cmd.StartInfo.Arguments = "/all";  //參數
  //重定向標準輸出
  cmd.StartInfo.RedirectStandardOutput = true;
  cmd.StartInfo.RedirectStandardInput = true;
  cmd.StartInfo.UseShellExecute = false;
  cmd.StartInfo.CreateNoWindow = true;//不顯示窗口(控制臺程序是黑屏)
  //cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;//暫時不明白什么意思
  /*
  收集一下 有備無患
  關于:ProcessWindowStyle.Hidden隱藏后如何再顯示?
  hwndWin32Host = Win32Native.FindWindow(null, win32Exinfo.windowsName);
  Win32Native.ShowWindow(hwndWin32Host, 1);     //先FindWindow找到窗口后再ShowWindow
  */
  cmd.Start();
  string info = cmd.StandardOutput.ReadToEnd();
  cmd.WaitForExit();
  cmd.Close();
  textBox1.AppendText(info);
}


⑦NetworkInformation

private void GetIP5()
{
  //需要的命名空間
  //using System.Net.NetworkInformation;
  //using System.Net.Sockets;
  string str = "";
  NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
  int i = 0;
  foreach (NetworkInterface adapter in adapters)
  {
    IPInterfaceProperties adapterProperties = adapter.GetIPProperties();
    UnicastIPAddressInformationCollection allAddress = adapterProperties.UnicastAddresses;
    if (allAddress.Count > 0)
    {
        str += "interface   " + i + "description: \t " + adapter.Description + " ";
        i++;
        foreach (UnicastIPAddressInformation addr in allAddress)
        {
            if (addr.Address.AddressFamily == AddressFamily.InterNetworkV6)
            {
                ipListComb.Items.Add(addr.Address);
            }
            if (addr.Address.AddressFamily == AddressFamily.InterNetwork)
            {
                comboBox1.Items.Add(addr.Address);
            }
        }
    }
  }
  MessageBox.Show(str);
}


該文章在 2018/9/8 16:29:48 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved