C 獲取計算機資訊GetSystemInfo

2021-06-07 20:34:40 字數 2876 閱讀 7488

效果如下:

上面的**獲得system_info結構體的資料之後,採用反射我輸出了每個值,該結構體欄位含義如下:

【dwoemid】:

已廢棄的成員,保留這個成員是為了向以前版本的windows nt保持相容。從windows nt 3.51和windows 95的預發行版本開始,使用這個成員的子分支

【dwpagesize】:

指定乙個用來代表這個系統中裝配了的**處理器的掩碼。二進位制0位是處理器0;31位是處理器31。

【dwnumberofprocessors】:

指定系統中的處理器的數目。

【dwprocessortype】:

windows 95:

指定系統中**處理器的型別。

windows nt:

這個成員已經不再有用了,但是為了向windows 95和以前版本的windows nt保持相容,使用wprocessorarchitecture, wprocessorlevel, 和 wprocessorrevision 三個成員定義處理器的型別。

這個成員的值是下面中的乙個:

processor_intel_386

processor_intel_486

processor_intel_pentium

只適用於windows nt: processor_mips_r4000

只適用於windows nt: processor_alpha_21064

【dwallocationgranularity】:

指定已經被分配的虛擬記憶體空間的粒度。例如,如果使用virtualalloc函式請求分配1byte記憶體空間,那麼將會保留由dwallocationgranularity指定大小byte的位址空間。在過去,這個值被定為64k並固化在硬體中,但是其它的硬體體系結構可能需要另外的值。

【wprocessorlevel】:

windows 95: 不使用這個成員。

windows nt: 指定系統體系結構依賴的處理器級別。

如果 wprocessorarchitecture 的值是 processor_architecture_intel,那麼 wprocessorlevel可以使如下值中的乙個:

值          含義

3          intel 80386

4          intel 80486

5          pentium

如果 wprocessorarchitecture 的值是 processor_architecture_mips,那麼 wprocessorlevel 的值會是00xx的形式,xx是乙個8位的立即數。這個成員可以使如下的值:

值             含義

0004          mips r4000

如果 wprocessorarchitecture 的值是 processor_architecture_alpha, 那麼 wprocessorlevel 的值會是***x的形式,***x是乙個16位的處理器版本數(韌體中版本號的低16位),它的值可以是下表中的乙個:

十進位制值      含義

21064            alpha 21064

21066            alpha 21066

21164            alpha 21164

如果 wprocessorarchitecture 的值是  processor_architecture_ppc, 那麼 wprocessorlevel 的值會是***x的形式,***x是乙個16位的處理器版本數(處理器版本暫存器的高16位),它的值可以使下表中的乙個:

十進位制值      含義

1                   ppc 601

3                   ppc 603

4                   ppc 604

6                   ppc 603+

9                   ppc 604+

20                  ppc 620

【wprocessorrevision】:

windows 95: 不使用這個成員。

windows nt: 指定系統體系結構依賴的處理器修訂版本號。下表顯示了對於每一種處理器體系,處理器的修訂版本號是如何構成的。

處理器體系值

intel 80386 or 80486  類似xxyz的形式。如果xx等於0xff,y-0xa 是型號,z 是步進表示符。例如,乙個intel 80486-d0 cpu 組成的系統返回0xffd0。如果xx不等於0xff,'a'是步進表示符,yz 是次要步進表示符。

intel pentium, cyrix, or nextgen 586  類似xxyy的形式。xx是型號,yy是步進值。例如,乙個0x0201的值表明這是乙個model 2,stepping 1的cpu。

mips  類似00xx的形式。xx是8位的處理器修訂號(prid暫存器的低8位)。

alpha 類似xxyy的形式。xxyy是處理器韌體中的修訂號的低16位。這個值被顯示成這個樣子:model 'a'+xx, yy被忽略。

ppc  類似xxyy的形式。xxyy是處理器版本暫存器的低16位。這個值被顯示為定點小數:xx.yy

**:

c 獲取計算機資訊

managementobjectsearcher 類 基於指定的查詢檢索管理物件的集合。此類是用於檢索管理資訊的較為常用的入口點之一。例如,它可以用於列舉系統中的所有磁碟驅動器 網路介面卡 程序及更多管理物件,或者用於查詢所有處於活動狀態的網路連線以及暫停的服務等。在例項化之後,此類的例項可以接受在...

c 獲取計算機資訊

獲取計算機資訊,獲取遠端計算機資訊的時候需要關閉遠端機器的防火牆,否則獲取不到相關資訊。using system using system.collections.generic using system.linq using system.web using system.text using s...

JS獲取計算機資訊

應最近公司新專案要求,在無電腦客戶端情況下,用網頁載入js的方式獲取終端裝置資訊,查詢資料發現可以做到,然而要受部分條件的約束,如下 使用js獲取計算機資訊需要以下條件 使用ie瀏覽器 需要使用到只有ie瀏覽器有的activex控制項 允許activex控制項的執行 用wmi 微軟開放的api介面,...