C\#로 컬 유 니 버 설 네트워크 카드 정 보 를 얻 는 예제 코드
2996 단어 c#네트워크 카드 정보
그 중에서 가장 중요 한 것 은 Management Object Searcher 구조 함수 의 입력 매개 변수 로 다음 과 같은 Query String 에 들 어 갈 수 있 습 니 다.
SELECT * FROM Win32_NetworkAdapterConfiguration
다음 의 예 는 로 컬 네트워크 카드 의 설정 정 보 를 파일 에 기록 하고 저장 하 는 것 입 니 다.코드 는 다음 과 같 습 니 다.
using System.IO;
using System.Linq;
using System.Management;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
ManagementObjectSearcher managementObjectSearcher = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration") ;
ManagementObjectCollection managementObjectCollection = managementObjectSearcher.Get();
StreamWriter writer = new StreamWriter("result.csv");
bool isFirstRow = true;
foreach (ManagementObject managementObject in managementObjectCollection)
{
string header = string.Empty;
string content = string.Empty;
string separator1 = ",";
string separator2 = " | ";
foreach (var item in managementObject.Properties)
{
if (isFirstRow)
{
header = $"{header}{separator1}{item.Name}";
}
string valueTemp = string.Empty;
if (item.Value != null)
{
if (item.Value is string[] || item.Value is ushort[])
{
string[] valuesStrTemp;
if(item.Value is ushort[])
valuesStrTemp = ((ushort[])item.Value).Select(x => x.ToString()).ToArray();
else
valuesStrTemp = item.Value as string[];
for (int i = 0; i < valuesStrTemp.Length; i++)
{
valueTemp = $"{valueTemp}{separator2}{valuesStrTemp[i]}";
}
if(valuesStrTemp.Length != 0)
valueTemp = valueTemp.Remove(0, separator2.Length);
}
else
valueTemp = item.Value.ToString();
}
content = $"{content}{separator1}{valueTemp}";
}
if (isFirstRow)
{
header = header.Remove(0, separator1.Length);
writer.WriteLine(header);
isFirstRow = false;
}
content = content.Remove(0, separator1.Length);
writer.WriteLine(content);
}
writer.Close();
}
}
}
실행 결 과 는 다음 과 같 습 니 다.이상 은 C\#로 컬 유 니 버 설 네트워크 카드 정 보 를 얻 을 수 있 는 예제 코드 의 상세 한 내용 입 니 다.c\#네트워크 카드 정 보 를 얻 을 수 있 는 자 료 는 다른 관련 글 을 주목 하 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C#Task를 사용하여 비동기식 작업을 수행하는 방법라인이 완성된 후에 이 라인을 다시 시작할 수 없습니다.반대로 조인(Join)만 결합할 수 있습니다 (프로세스가 현재 라인을 막습니다). 임무는 조합할 수 있는 것이다. 연장을 사용하여 그것들을 한데 연결시키는 것이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.