1. 아래의 코드는 C#을 사용하여 현재 실행 중인 운영 체제와 컴퓨터의 정보를 검색하는 방법을 보여줍니다.
Visual Studio에서 프로젝트를 생성하여 아래의 코드를 복사하여 실행합니다.
using System;
using System.Management;
class Program
{
static void Main(string[] args)
{
// 운영체제 정보 가져오기
OperatingSystem os = Environment.OSVersion;
Console.WriteLine("Operating system: {0}", os);
// 컴퓨터 정보 가져오기
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_ComputerSystem");
foreach (ManagementObject managementObject in searcher.Get())
{
Console.WriteLine("Manufacturer: {0}", managementObject["Manufacturer"]);
Console.WriteLine("Model: {0}", managementObject["Model"]);
Console.WriteLine("Total physical memory: {0} bytes", managementObject["TotalPhysicalMemory"]);
}
Console.ReadLine();
}
}
이 코드는 System.Management 네임스페이스를 사용하여 WMI(Windows Management Instrumentation)를 쿼리를 실행하여 정보를 검색합니다.
OperatingSystem 클래스는 Environment.OSVersion 속성을 통해 검색됩니다.
Win32_ComputerSystem 클래스는 컴퓨터 정보를 검색하기 위해 ManagementObjectSearcher 클래스를 사용하여 쿼리를 실행합니다.
코드를 실행하면 다음과 같은 정보가 출력됩니다.
결과:
Operating system: Microsoft Windows NT 10.0.19042.0
Manufacturer: ACME
Model: ACME123
Total physical memory: 17179869184 bytes
참고: 출력된 내용은 실행 중인 컴퓨터의 정보에 따라 다를 수 있습니다.
2. 다음 코드는 C#을 사용하여 컴퓨터의 네트워크 기기 정보를 출력하는 방법을 보여줍니다.
Visual Studio에서 프로젝트를 생성하여 아래의 코드를 복사하여 실행합니다.
using System;
using System.Management;
class Program
{
static void Main(string[] args)
{
// Define WMI query to retrieve device information
string query = "SELECT * FROM Win32_PnPEntity";
// Create object searcher with the query
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
// Loop through each device and output its information
foreach (ManagementObject device in searcher.Get())
{
Console.WriteLine("Name: {0}", device["Name"]);
Console.WriteLine("Description: {0}", device["Description"]);
Console.WriteLine("Manufacturer: {0}", device["Manufacturer"]);
Console.WriteLine("Status: {0}", device["Status"]);
Console.WriteLine();
}
Console.ReadLine();
}
}
이 코드는 Win32_PnPEntity 클래스를 쿼리하여 각 기기의 정보를 출력합니다. ManagementObjectSearcher 클래스를 사용하여 SELECT 쿼리를 만들고, Get() 메서드를 호출하여 쿼리 결과를 가져옵니다. foreach 루프를 사용하여 결과 집합에서 각 항목을 반복하여 출력합니다.
코드를 실행하면 다음과 같은 출력이 생성됩니다.
결과:
Name: Intel(R) 82579LM Gigabit Network Connection
Description: Intel(R) 82579LM Gigabit Network Connection
Manufacturer: Intel
Status: OK
Name: Microsoft Wi-Fi Direct Virtual Adapter
Description: Microsoft Wi-Fi Direct Virtual Adapter
Manufacturer: Microsoft
Status: OK
'C#' 카테고리의 다른 글
c# 윈도우 설치된 프로그램 목록 확인하기 (0) | 2024.11.01 |
---|---|
[C#]OpenFileDialog 활용하기 (0) | 2024.09.12 |
[C#]C# Dictionary <TKey,TValue> 클래스 배열 데이터 사용법 (0) | 2024.04.16 |