첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
유용한 소스 코드가 있으면 icodebroker@naver.com으로 보내주시면 감사합니다.
블로그 자료는 자유롭게 사용하세요.

■ IP 주소 배열 구하기

----------------------------------------------------------------------------------------------------

using System.Collections.Generic;

using System.Management;

 

#region IP 주소 배열 구하기 - GetIPAddresses(isWired)

 

/// <summary>

/// IP 주소 배열 구하기

/// </summary>

/// <param name="isWired">유선 여부</param>

/// <returns>IP 주소 배열</returns>

public string[] GetIPAddresses(bool isWired)

{

    List<string> list                 = new List<string>();

    string[]     wifiAdapterNameArray = GetWiFiAdapterNameArray(); // 'WiFi 어댑터 명칭 배열 구하기' 항목 참조

 

    try

    {

        ManagementObjectSearcher managementObjectSearcher =

            new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = 'TRUE'");


        ManagementObjectCollection managementObjectCollection = managementObjectSearcher.Get();

 

        foreach(ManagementObject managementObject in managementObjectCollection)

        {

            if(isWired && Array.IndexOf(wifiAdapterNameArray, managementObject["Description"] as string) < 0 ||

              !isWired && Array.IndexOf(wifiAdapterNameArray, managementObject["Description"] as string) > -1)

            {

                foreach(string ipAddress in managementObject["IPAddress"] as string[])

                {

                    if(RegularExpressionManager.IsValidFormat(RegularExpressionManager.IPPattern, ipAddress)

                        && ipAddress != "0.0.0.0")

                    {

                        list.Add(ipAddress);

                    }

                }

            }

        }

    }

    catch(Exception)

    {

    }

 

    return list.ToArray();

}

 

#endregion

----------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker

댓글을 달아 주세요