C⻠プログラミング取得クライアントハードウェアおよびシステム情報機能例
本明細書の例は、クライアント・コンピュータのハードウェアおよびシステム情報機能を獲得するためのC〓というものである。皆さんに参考にしてあげます。具体的には以下の通りです。
ここでは、CPU、ハードディスク、IP、MACアドレス、オペレーティングシステムなどを含む、C〓を用いてクライアントコンピュータのハードウェアおよびシステム情報を取得する。
1、プロジェクトはSystem.Managementライブラリを参照する。
2、HardwareHandler.cs種類のファイルを作成する
ここで述べたように、皆さんのC〓プログラムの設計に役に立ちます。
ここでは、CPU、ハードディスク、IP、MACアドレス、オペレーティングシステムなどを含む、C〓を用いてクライアントコンピュータのハードウェアおよびシステム情報を取得する。
1、プロジェクトはSystem.Managementライブラリを参照する。
2、HardwareHandler.cs種類のファイルを作成する
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Management;
namespace MyStudy.Utility
{
/// <summary>
///
/// </summary>
public class HardwareHandler
{
public enum WMIPath
{
//
Win32_Processor, // CPU
Win32_PhysicalMemory, //
Win32_Keyboard, //
Win32_PointingDevice, // , 。
Win32_FloppyDrive, //
Win32_DiskDrive, //
Win32_CDROMDrive, //
Win32_BaseBoard, //
Win32_BIOS, // BIOS
Win32_ParallelPort, //
Win32_SerialPort, //
Win32_SerialPortConfiguration, //
Win32_SoundDevice, // , 。
Win32_SystemSlot, // (ISA & PCI & AGP)
Win32_USBController, // USB
Win32_NetworkAdapter, //
Win32_NetworkAdapterConfiguration, //
Win32_Printer, //
Win32_PrinterConfiguration, //
Win32_PrintJob, //
Win32_TCPIPPrinterPort, //
Win32_POTSModem, // MODEM
Win32_POTSModemToSerialPort, // MODEM
Win32_DesktopMonitor, //
Win32_DisplayConfiguration, //
Win32_DisplayControllerConfiguration, //
Win32_VideoController, // 。
Win32_VideoSettings, // 。
//
Win32_TimeZone, //
Win32_SystemDriver, //
Win32_DiskPartition, //
Win32_LogicalDisk, //
Win32_LogicalDiskToPartition, // 。
Win32_LogicalMemoryConfiguration, //
Win32_PageFile, //
Win32_PageFileSetting, //
Win32_BootConfiguration, //
Win32_ComputerSystem, //
Win32_OperatingSystem, //
Win32_StartupCommand, //
Win32_Service, //
Win32_Group, //
Win32_GroupUser, //
Win32_UserAccount, //
Win32_Process, //
Win32_Thread, //
Win32_Share, //
Win32_NetworkClient, //
Win32_NetworkProtocol, //
}
/// <summary>
/// Cpu
/// </summary>
/// <returns></returns>
public void CpuInfo()
{
try
{
ManagementClass mc = new ManagementClass(WMIPath.Win32_Processor.ToString());
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
Console.WriteLine("CPU :" + mo.Properties["ProcessorId"].Value);
Console.WriteLine("CPU :" + mo.Properties["Name"].Value);
Console.WriteLine("CPU :" + mo.Properties["Status"].Value);
Console.WriteLine(" :" + mo.Properties["SystemName"].Value);
}
}
catch
{
Console.WriteLine("Erroe");
}
}
/// <summary>
///
/// </summary>
public void MainBoardInfo()
{
try
{
ManagementClass mc = new ManagementClass(WMIPath.Win32_BaseBoard.ToString());
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
Console.WriteLine(" ID:" + mo.Properties["SerialNumber"].Value);
Console.WriteLine(" :" + mo.Properties["Manufacturer"].Value);
Console.WriteLine(" :" + mo.Properties["Product"].Value);
Console.WriteLine(" :" + mo.Properties["Version"].Value);
}
}
catch
{
Console.WriteLine("Erroe");
}
}
/// <summary>
///
/// </summary>
public void DiskDriveInfo()
{
try
{
ManagementClass mc = new ManagementClass(WMIPath.Win32_DiskDrive.ToString());
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
Console.WriteLine(" SN:" + mo.Properties["SerialNumber"].Value);
Console.WriteLine(" :" + mo.Properties["Model"].Value);
Console.WriteLine(" :" + Convert.ToDouble(mo.Properties["Size"].Value) / (1024 * 1024 * 1024));
}
}
catch
{
Console.WriteLine("Erroe");
}
}
/// <summary>
///
/// </summary>
public void NetworkInfo()
{
try
{
ManagementClass mc = new ManagementClass(WMIPath.Win32_NetworkAdapterConfiguration.ToString());
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
Console.WriteLine("MAC :" + mo.Properties["MACAddress"].Value);
Console.WriteLine("IP :" + mo.Properties["IPAddress"].Value);
}
}
catch
{
Console.WriteLine("Erroe");
}
}
/// <summary>
///
/// </summary>
public void OsInfo()
{
try
{
ManagementClass mc = new ManagementClass(WMIPath.Win32_OperatingSystem.ToString());
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
Console.WriteLine(" :" + mo.Properties["Name"].Value);
Console.WriteLine(" :" + mo.Properties["Version"].Value);
Console.WriteLine(" :" + mo.Properties["SystemDirectory"].Value);
}
}
catch
{
Console.WriteLine("Erroe");
}
}
}
}
C関連の内容についてもっと興味がある読者は、当駅のテーマを見ることができます。「C〓〓〓プログラムの設計のスレッドは技巧を使って総括します。」、「WinFormコントロールの使い方のまとめ」、「C〓中XMLファイルの操作技術のまとめ」、「C〓〓よくあるコントロールの使い方教程」、「C〓〓〓データ構造とアルゴリズム教程」、「Cハハハハ配列操作技術のまとめ」および「C铅対象プログラム設計入門教程」ここで述べたように、皆さんのC〓プログラムの設計に役に立ちます。