所謂系統信息,就是計算機的軟件硬件信息,硬件如CPU主頻、網卡名稱等,軟件信息就如操作系統目錄,用戶目錄等。在平常的編程中,我們往往要用到這些系統信息,比如我前面的字體查看器,如果要寫個C#版,則首先要獲得系統字體的安裝目錄。總之,讀取系統信息對於編程還是很重要的,.Net也不負所望,提供了很便利的方法,本文提供了四種方法來從各個方面對系統信息進行讀取。
SystemInformation 提供靜態方法和屬性,它們可用於獲取諸如 Windows 顯示元素大小、操作系統設置、網絡可用性和系統中所安裝硬件的性能等信息,這種方法側重於操作系統(這裡特指Windows)的一些設置和狀態。
第二種方法 :用Environment 類通過這種方法可檢索的系統信息包括命令行參數、環境變量設置、調用堆棧的內容、上次系統引導以來的時間,以及公共語言運行庫的版本等等,測重於使用這個類的應用程序所處的環境和狀態,也有比較多的動態信息,比如開機啟動後的毫秒數等等。
第三種方法 用RegistryKey 類這種方法方法讀取的也只能是靜態的設置,不過比上面兩種方法更加接近操作系統,因為值是直接從注冊表中讀取出來的,有好處也有不好的地方,好處就是基本上可以獲得任何設置。不好的地方是不夠便利,畢竟,檢索注冊表的鍵值不如直接調用方法來得方便。
第四種方法 用API函數這種方法嚴格說來不是用C#來實現對系統信息的讀取,因為它實際調用的是系統API。這種方法有更加有意義的地方,就在其對API功能的調用,因而我們可以做出更多的事情。這種方法也可以在Java中依樣畫胡蘆地用到。
下面講一下程序結構:
//RegistryKey 類所需要的包:
using Microsoft.Win32;