SystemInformation類
在.net的系統信息類庫中,最基本的類庫是SystemInformation類,包含在System.Windows.Forms名字空間中。
該類庫可以幫助我們獲得有關系統的基本信息;這個類中只包含了幾個從System.Object類繼承的公共方法,沒有提供其他的方法。
系統的信息可以通過這個類的公共靜態成員獲得,我們可以根據需要獲得的信息選取合適的成員。
Environment 類
第二種方法是通過Environment 類
該類提供了有關當前環境和平台的信息以及操作它們的方法;Environment 類除了提供了一些靜態成員外,還提供了一些靜態方法。
RegistryKey 類
第三種方式是通過注冊表查詢系統信息,這是最傳統的方法,也是功能最強大的方法和最復雜的方法。
.net中注冊表封裝在RegistryKey 類 中,位於Microsoft.win32命名空間中。
這個類和前兩個類不同,它的公共屬性我們能利用的機會很少,我們為了獲得系統信息主要是使用它的OpenSubKey 方法,
然而為了使用這個方法,我們必須對注冊表有相當的了解才行,這也正是使用這個類獲得系統信息的復雜之處。
練習實例
1 using System; 2 using System.Windows.Forms; 3 4 namespace Winform_1 5 { 6 public partial class Form1 : Form 7 { 8 public Form1() 9 { 10 InitializeComponent(); 11 } 12 13 private void Form1_Load(object sender, EventArgs e) 14 { 15 // 計算機名稱 SystemInformation 16 richTextBox1.AppendText("計算機名稱: " + SystemInformation.ComputerName); 17 // 換行 18 richTextBox1.AppendText(Environment.NewLine); 19 // 計算機名稱 Environment 20 richTextBox1.AppendText("計算機名稱: " + Environment.MachineName); 21 richTextBox1.AppendText(Environment.NewLine); 22 // 用戶名稱 23 richTextBox1.AppendText("用戶名稱: " + Environment.UserName); 24 richTextBox1.AppendText(Environment.NewLine); 25 // 平台標識 26 richTextBox1.AppendText("平台標識: " + Environment.OSVersion.Platform); 27 richTextBox1.AppendText(Environment.NewLine); 28 // 操作系統版本號 29 richTextBox1.AppendText("版本號: " + Environment.OSVersion.VersionString); 30 richTextBox1.AppendText(Environment.NewLine); 31 // 處理器個數 32 richTextBox1.AppendText("處理器個數: " + Environment.ProcessorCount); 33 richTextBox1.AppendText(Environment.NewLine); 34 // 判斷操作系統位數 64位&32位 35 if (Environment.Is64BitOperatingSystem) 36 { 37 richTextBox1.AppendText("操作系統位數: 64bit."); 38 } 39 else 40 { 41 richTextBox1.AppendText("操作系統位數: 32bit."); 42 } 43 richTextBox1.AppendText(Environment.NewLine); 44 // 判斷網絡 45 if (SystemInformation.Network) 46 { 47 richTextBox1.AppendText("網絡連接: 已連接"); 48 } 49 else 50 { 51 richTextBox1.AppendText("網絡連接: 未連接"); 52 } 53 richTextBox1.AppendText(Environment.NewLine); 54 // 判斷系統啟動模式 55 if (SystemInformation.BootMode.ToString() == "Normal") 56 richTextBox1.AppendText("啟動模式: 正常啟動"); 57 if (SystemInformation.BootMode.ToString() == "FailSafe") 58 richTextBox1.AppendText("啟動模式: 安全啟動"); 59 if (SystemInformation.BootMode.ToString() == "FailSafeWithNework") 60 richTextBox1.AppendText("啟動方式: 通過網絡服務啟動"); 61 richTextBox1.AppendText(Environment.NewLine); 62 // 顯示器數量 63 richTextBox1.AppendText("顯示器數量: " + SystemInformation.MonitorCount); 64 richTextBox1.AppendText(Environment.NewLine); 65 // 顯示器分辨率 66 richTextBox1.AppendText("顯示器分辨率: " + SystemInformation.PrimaryMonitorMaximizedWindowSize.Width + " * " + SystemInformation.PrimaryMonitorMaximizedWindowSize.Height); 67 richTextBox1.AppendText(Environment.NewLine); 68 // 當前分辨率 69 richTextBox1.AppendText("主顯示器當前分辨率: " + SystemInformation.PrimaryMonitorSize.Width + " * " + SystemInformation.PrimaryMonitorSize.Height); 70 richTextBox1.AppendText(Environment.NewLine); 71 // 鼠標按鈕個數 72 richTextBox1.AppendText("鼠標按鈕個數: " + SystemInformation.MouseButtons.ToString()); 73 richTextBox1.AppendText(Environment.NewLine); 74 // 鼠標速度 75 richTextBox1.AppendText("鼠標速度: " + SystemInformation.MouseSpeed.ToString()); 76 richTextBox1.AppendText(Environment.NewLine); 77 // 系統目錄 78 richTextBox1.AppendText("系統目錄: " + Environment.SystemDirectory); 79 richTextBox1.AppendText(Environment.NewLine); 80 // 系統內存頁 81 richTextBox1.AppendText("系統內存頁: " + Environment.SystemPageSize.ToString() + "MB"); 82 richTextBox1.AppendText(Environment.NewLine); 83 } 84 } 85 }
測試效果
*** | 以上內容僅為學習參考、學習筆記使用 | ***