国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

使用C#獲得系統信息

2024-07-21 02:24:44
字體:
來源:轉載
供稿:網友
系統信息無外乎系統軟硬件信息,需要檢測的信息也是這些信息。.net的類庫為我們提供了獲得系統消息所需的一些函數,為我們的程序設計帶來了不少的便利。



下面的部分將說明這些類庫中最基本的三個類庫的使用。



systeminformation類



在這些類庫中,最基本的類庫是systeminformation類,包含在system.windows.forms名字空間中。該類庫可以幫助我們獲得有關系統的基本信息。這個類中只包含了幾個從system.object類繼承的公共方法,沒有提供其他的方法。系統的信息可以通過這個類的公共靜態成員獲得,我們可以根據需要獲得的信息選取合適的成員。下面我們以一個例子說明如何使用這些成員:



//systeminformation類位于system.windows.forms名字空間中,使用它之前需要先引入該名字空間;

using system.windows.forms;

//使用systeminformation的靜態成員獲得系統信息并顯示出來;

class class1

{

static void main(string[] args)

{

console.writeline("計算機名:_"+system.windows.forms.systeminformation.computername.tostring());

console.writeline("啟動方式:_"+system.windows.forms.systeminformation.bootmode.tostring());

console.writeline("域名:

_"+system.windows.forms.systeminformation.userdomainname.tostring());

}

}




上面的代碼只使用了systeminformation類的三個靜態成員,其他成員的屬性及其能提供的信息可以參考msdn。上面代碼的執行結果如下圖所示:








environment 類



第二種方法是通過environment 類,該類提供了有關當前環境和平臺的信息以及操作它們的方法。



environment 類除了提供了一些靜態成員外,還提供了一些靜態方法。我們還是通過一個例子說明這些方法和成員的使用:



class class1

{

static void main(string[] args)

{

console.writeline("系統登錄時間:"+environment.tickcount/1000/60+"分鐘。");

console.writeline("用戶系統的當前目錄:"+environment.currentdirectory);

console.writeline("用戶系統使用的邏輯盤盤符:"+environment.getlogicaldrives());

console.writeline("用戶系統的系統路徑:_"+environment.getfolderpath(environment.specialfolder.system));

console.readline();

}

}




和前一個類一樣,我們也只使用了environment類的幾個成員和方法,其他方法和成員以及更多的信息可以參考msdn,上面代碼的執行結果如下:








registrykey 類



第三種方式是通過注冊表查詢系統信息,這是最傳統的方法,也是功能最強大的方法和最復雜的方法。.net中注冊表封裝在registrykey 類 中,位于microsoft.win32命名空間中。



這個類和前兩個類不同,它的公共屬性我們能利用的機會很少,我們為了獲得系統信息主要是使用它的opensubkey 方法,然而為了使用這個方法,我們必須對注冊表有相當的了解才行,這也正是使用這個類獲得系統信息的復雜之處。如果你對注冊表很熟悉,將能獲得十分豐富的系統信息。



我們還是通過一個例子說明registrykey類的使用,以求拋磚引玉:



class class1

{

static void main(string[] args)

{

registrykey rkey = registry.localmachine;

rkey = rkey.opensubkey("hardware//description//system//centralprocessor//0");

console.writeline("處理器信息:"+rkey.getvalue("processornamestring"));

rkey=registry.localmachine;

rkey = rkey.opensubkey("software//microsoft//windows _nt//currentversion//networkcards//1");

console.writeline("網卡信息:"+(string)rkey.getvalue("description"));

console.readline();

}

}




上面的例子僅僅顯示了處理器信息和網卡信息,如果你仔細查找前兩個類的成員信息,可以發現希望從前兩個類獲取硬件信息是不可能的,要獲取硬件信息還得借助注冊表或是wmi(視窗系統管理方法),不過要使用它們,你必須先對它們有個大致的了解。上面的代碼結果如下:






以上三種方法僅是起拋磚引玉的作用,希望獲得更多系統信息還得自己花時間實現;除了這三種方法,還可以通過其他方法獲得系統信息,例如通過wmi。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 壶关县| 旬阳县| 东兰县| 唐山市| 县级市| 张北县| 双江| 榆中县| 德兴市| 武功县| 九江县| 神农架林区| 乡城县| 酉阳| 天祝| 贵定县| 通城县| 枝江市| 开原市| 什邡市| 应城市| 鹤庆县| 渑池县| 平顺县| 沭阳县| 永善县| 岗巴县| 崇州市| 赞皇县| 河源市| 封开县| 湄潭县| 米易县| 南昌市| 涪陵区| 顺义区| 枞阳县| 渝中区| 天等县| 高要市| 驻马店市|