LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

使用C#獲取系統(tǒng)關(guān)鍵信息:CPU、內(nèi)存、硬盤、用戶與網(wǎng)絡(luò)狀態(tài)

admin
2024年10月17日 23:5 本文熱度 553

在C#中,獲取系統(tǒng)信息如CPU、內(nèi)存、硬盤、用戶以及網(wǎng)絡(luò)狀態(tài)等,可以通過多種方式實(shí)現(xiàn),包括使用System.Management命名空間中的類來查詢WMI(Windows Management Instrumentation)信息,或者使用.NET Framework自帶的類庫。以下是一些基本示例來展示如何獲取這些信息。

1. 引入必要的命名空間

首先,確保項(xiàng)目中引入了必要的命名空間。對(duì)于WMI查詢,需要引入System.Management。

using System;using System.Management; // 需要添加對(duì)System.Management的引用using System.Collections.Generic;

2. 獲取CPU信息

ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Processor");
foreach (ManagementObject obj in searcher.Get()){    Console.WriteLine("Name: " + obj["Name"]);    Console.WriteLine("CurrentClockSpeed: " + obj["CurrentClockSpeed"]);    // 還可以獲取更多屬性,如NumberOfCores, NumberOfLogicalProcessors等}

3. 獲取內(nèi)存信息

ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMemory");

foreach (ManagementObject obj in searcher.Get()){    Console.WriteLine("Capacity: " + obj["Capacity"]);    // 注意Capacity的單位是字節(jié),可能需要轉(zhuǎn)換成KB、MB或GB}
// 獲取總物理內(nèi)存(MB)ManagementObjectSearcher mos = new ManagementObjectSearcher("SELECT TotalVisibleMemorySize FROM Win32_OperatingSystem");foreach (ManagementObject mo in mos.Get()){    Console.WriteLine("Total Physical Memory: " + (Convert.ToDouble(mo["TotalVisibleMemorySize"]) / 1024 / 1024) + " MB");}

4. 獲取硬盤信息

ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_LogicalDisk WHERE DriveType=3"); // 3 代表本地硬盤
foreach (ManagementObject mo in searcher.Get()){    Console.WriteLine("Disk Name: " + mo["Name"]);    Console.WriteLine("Total Size: " + (Convert.ToDouble(mo["Size"]) / 1024 / 1024 / 1024) + " GB");    Console.WriteLine("Free Space: " + (Convert.ToDouble(mo["FreeSpace"]) / 1024 / 1024 / 1024) + " GB");}

5. 獲取當(dāng)前用戶信息

通常,獲取當(dāng)前登錄的用戶信息不需要WMI,可以使用.NET Framework的類。

System.Security.Principal.WindowsIdentity identity = System.Security.Principal.WindowsIdentity.GetCurrent();System.Security.Principal.WindowsPrincipal principal = new System.Security.Principal.WindowsPrincipal(identity);// 在Windows Vista及以上版本,可以使用IsInRole來判斷用戶是否屬于某個(gè)組bool isAdmin = principal.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator);
Console.WriteLine("User Name: " + identity.Name);Console.WriteLine("Is Admin: " + isAdmin);

6. 獲取網(wǎng)絡(luò)狀態(tài)

獲取網(wǎng)絡(luò)狀態(tài)比較復(fù)雜,因?yàn)樯婕暗蕉鄠€(gè)方面,如網(wǎng)絡(luò)接口、IP地址、是否連接等。以下是一個(gè)獲取網(wǎng)絡(luò)接口列表的示例。

ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapter WHERE NetConnectionStatus = 2"); // 2 代表已連接
foreach (ManagementObject obj in searcher.Get()){    Console.WriteLine("Adapter Name: " + obj["Name"]);    // 可以獲取更多屬性,如MAC地址、IP地址等}

注意:WMI查詢可能需要管理員權(quán)限,特別是在訪問某些敏感信息時(shí)。

此外,對(duì)于網(wǎng)絡(luò)狀態(tài)的詳細(xì)查詢(如IP地址、DNS信息等),可能需要使用Win32_NetworkAdapterConfiguration類或其他相關(guān)WMI類。


該文章在 2024/10/19 12:12:17 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
夜色福利院在线视频 | 午夜日网站一线在线观看 | 日韩R级无卡亚洲一区 | 亚洲欧美偷国产精品三区 | 在线一区二区三区免费视频 | 真实播放国产乱子伦视频 |