狼奔代碼生成器 V6.1 綠色免費(fèi)版5.35MB / 12-29
項(xiàng)目代碼生成工具 v1.18.08.18.0 免費(fèi)綠色版5.23MB / 12-12
CodeGenX(代碼生成工具) V1.1免費(fèi)綠色版47KB / 06-11
Flash CS6代碼一鍵生成工具 v1.2 綠色免費(fèi)版522KB / 04-25
CodeMaker(C#代碼生成器) 1.0 綠色免費(fèi)版973KB / 01-08
-
JetBrains DataSpell(數(shù)據(jù)科學(xué)IDE) v2025.1 官方中文安裝版 編程工具 / 899MB
-
JetBrains DataGrip v2025.1 免費(fèi)中文正式版(附漢化包+安裝教程) 編程工具 / 750MB
-
JetBrains CLion v2025.1 中文正式免費(fèi)版(附漢化補(bǔ)丁+安裝教程) 編程工具 / 1.3GB
-
C#編輯器JetBrains Rider v2025.1 x64 中文安裝免費(fèi)版(附最新教 編程工具 / 1.4GB
-
-
Cursor(智能AI代碼生成工具) v0.48.9 官方版 編程工具 / 112MB
-
JetBrains ReSharper Command Line Tools命令行工具 v2025.1 官 編程工具 / 169MB
-
JetBrains ReSharper C++ v2025.1 中文最新免費(fèi)版(附安裝教程) 編程工具 / 62.8MB
-
JetBrains ReSharper Ultimate(dotUltimate) v2025.1 免費(fèi)正式安 編程工具 / 3.0GB
-
詳情介紹
WMI是一種輕松獲取系統(tǒng)信息的強(qiáng)大工具。利用它但是由于缺少WMI的介紹資料和學(xué)習(xí)資料(特別是中文的,因?yàn)閲?guó)內(nèi)大部分程序員的E文水平都比較湊合,呵呵,本人也是相當(dāng)湊合),所以知道WMI的不多,能運(yùn)用的就少之又少了。
WMI Code Creator是微軟提供的一個(gè)WMI代碼生成工具,這篇文章主要是介紹WMI Code Creator的用法的。首先說(shuō)明這個(gè)軟件是在.net Framework 2.0下編譯的,所以在運(yùn)行軟件是需要.net Framework 2.0支持。
WMI代碼生成器的界面如下:

利用WMI代碼生成器可以執(zhí)行查詢或者執(zhí)行一個(gè)方法等,還可以查看當(dāng)前或者遠(yuǎn)程電腦上的命名空間以及其下的類,并且還可以生成相關(guān)的代碼(不然就不叫WMI代碼生成器了),支持生成的代碼類型包括VBS、C#及VB.NET,默認(rèn)生成的代碼是VBS。
例如要想查詢BIOS的相關(guān)信息,可以在命名空間處選擇root\CIMV2(這個(gè)是默認(rèn)選擇),然后在全部類處選擇Win32_BIOS,這時(shí)就會(huì)列出Win32_BIOS類的所有屬性,可以選擇其中一個(gè)屬性然后點(diǎn)擊“查詢屬性值”,就會(huì)在下面的文本框中列出該屬性的值,如下圖所示:

從上圖中可以看出本人的本本BIOS是DELL的,在右側(cè)生成代碼處可以看到相關(guān)的VBS代碼,如果看默認(rèn)生成的VBS代碼不爽可以換成C#或者VB.NET的,具體操作就是在“編程語(yǔ)言”菜單處選擇,如下圖所示:

下面是選擇目標(biāo)編程語(yǔ)言為C#后生成的代碼,如下圖所示:

WMI代碼生成器默認(rèn)是連接到本地機(jī)器,不過(guò)也提供了連接遠(yuǎn)程主機(jī)或者主機(jī)組的功能,這個(gè)可以在目標(biāo)機(jī)器中選擇。如下圖所示。

由于本人已經(jīng)將常用操作部分漢化了(可能不是十分準(zhǔn)確),所以操作起來(lái)相對(duì)較容易上手。
說(shuō)明:由于在后臺(tái)多處使用了線程池來(lái)進(jìn)行操作,所以在執(zhí)行一些耗時(shí)的操作而沒(méi)有等待完全結(jié)束退出軟件時(shí)會(huì)報(bào)異常。另外,在漢化的過(guò)程中有些不常用部分并沒(méi)有完全漢化,并且有些地方翻譯不是十分準(zhǔn)確,敬請(qǐng)?jiān)?,使用本軟件時(shí)結(jié)果僅供參考。如果您的英語(yǔ)足夠好建議您到微軟英文官方網(wǎng)站下載英文的代碼并自行編譯(整個(gè)軟件全部包含在一個(gè)cs文件中,需要在命令行下編譯),本軟件僅僅為那些英語(yǔ)不十分過(guò)關(guān)的朋友提供一些小小的幫助。
.net中的WMI編程實(shí)例:
在WMI中有一種查詢語(yǔ)言,類似于SQL語(yǔ)言,這種語(yǔ)言叫做WQL(WMI Query Language),實(shí)際上是標(biāo)準(zhǔn)SQL的一個(gè)子集加上了WMI的擴(kuò)展。在接下來(lái)的教程中我會(huì)給大家演示一些WQL的例子。
用js或者vbs都可以通過(guò)WMI來(lái)獲取系統(tǒng)信息。下面是一個(gè)用vbs編寫(xiě)的獲取系統(tǒng)序列號(hào)的小程序,你可以把它復(fù)制到一個(gè)文本文件里,然后保存為文件為.vbs的文件,然后運(yùn)行:
Set SNSet = GetObject("winmgmts:").InstancesOf ("Win32_OperatingSystem")
for each SN in SNSet
MsgBox "當(dāng)前操作系統(tǒng)的序列號(hào)是: " & SN.SerialNumber
這是在我的機(jī)子上運(yùn)行的結(jié)果:

如果通過(guò)常規(guī)手段在.net里讓你寫(xiě)這個(gè)方法不知道你需要多少行代碼?需要利用幾次搜索引擎?一會(huì)我將展示如何在.net里利用WMI獲取操作系統(tǒng)序列號(hào)。
其實(shí)在.net里是支持WMI編程的,在.net類庫(kù)里專門(mén)有一個(gè)System.Management 命名空間,MSDN介紹這個(gè)命名空間如下:
“提供對(duì)大量管理信息和管理事件集合的訪問(wèn),這些信息和事件是與根據(jù) Windows 管理規(guī)范 (WMI) 結(jié)構(gòu)對(duì)系統(tǒng)、設(shè)備和應(yīng)用程序設(shè)置檢測(cè)點(diǎn)有關(guān)的。應(yīng)用程序和服務(wù)可以使用從 ManagementObjectSearcher 和 ManagementQuery 派生的類,查詢感興趣的管理信息(例如在磁盤(pán)上還剩多少可用空間、當(dāng)前 CPU 利用率是多少、某一應(yīng)用程序正連接到哪一數(shù)據(jù)庫(kù)等等);或者應(yīng)用程序和服務(wù)可以使用 ManagementEventWatcher 類預(yù)訂各種管理事件。這些可訪問(wèn)的數(shù)據(jù)可以來(lái)自分布式環(huán)境中托管的和非托管的組件。”。
System.Management 命名空間包含了下面一些常用類:
◆ManagementObject 或 ManagementClass:分別為單個(gè)管理對(duì)象或類。
◆ManagementObjectSearcher:用于根據(jù)指定的查詢或枚舉檢索 ManagementObject 或 ManagementClass 對(duì)象的集合。
◆ManagementEventWatcher:用于預(yù)訂來(lái)自 WMI 的事件通知。
◆ManagementQuery:用作所有查詢類的基礎(chǔ)。
在實(shí)際編程中需要注意,System.Management 命名空間中的類都存在于System.Management .dll這個(gè)文件中,所以在編程的時(shí)候一定要添加對(duì)這個(gè)dll文件的引用,如下圖:

然后還需要在我們的程序開(kāi)始處添加如下代碼:System.Management,這樣我們采用使用這個(gè)命名空間下的類來(lái)進(jìn)行WMI編程。
下面我將用一個(gè)方法展示我剛才提到的如何在.net里獲取操作系統(tǒng)序列號(hào):
/// <summary>
/// 獲取操作系統(tǒng)序列號(hào)
/// </summary>
/// <returns></returns>
public string GetSerialNumber()
{
string result = "";
ManagementClass mClass = new ManagementClass("Win32_OperatingSystem");
ManagementObjectCollection moCollection = mClass.GetInstances();
foreach (ManagementObject mObject in moCollection)
{
result += mObject["SerialNumber"].ToString();
}
return result;
}
我想這個(gè)方法夠簡(jiǎn)單的了。
下面貼出一些常用的方法來(lái)獲取系統(tǒng)相關(guān)的信息,代碼如下:
using System;
using System.Collections.Generic;
using System.Text;
namespace WMIDemo
{
/// <summary>
/// 說(shuō)明:這個(gè)類很簡(jiǎn)單,主要包含一個(gè)Main方法
/// 作者:周公
/// 日期:2008-1-14
/// 首發(fā)地址:http://blog.csdn.net/zhoufoxcn
/// </summary>
class Program
{
static void Main(string[] args)
{
GetSystemInfo getInfo = new GetSystemInfo();
Console.WriteLine("序列號(hào)="+getInfo.GetSerialNumber());
Console.WriteLine("CPU編號(hào)=" + getInfo.GetCpuID());
Console.WriteLine("硬盤(pán)編號(hào)=" + getInfo.GetMainHardDiskId());
Console.WriteLine("主板編號(hào)=" + getInfo.GetMainBoardId());
Console.WriteLine("網(wǎng)卡編號(hào)=" + getInfo.GetNetworkAdapterId());
Console.WriteLine("用戶組=" + getInfo.GetGroupName());
Console.WriteLine("驅(qū)動(dòng)器情況=" + getInfo.GetDriverInfo());
Console.ReadLine();
}
}
}
由于是一個(gè)命令行程序,所以有上面那個(gè)類,下面這個(gè)類才包含我要展示的代碼:
using System;
using System.Collections.Generic;
using System.Text;
using System.Management;
namespace WMIDemo
{
/// <summary>
/// 說(shuō)明:這個(gè)類主要用來(lái)展示如何利用WMI來(lái)獲取一些操作系統(tǒng)的信息
/// 作者:周公
/// 時(shí)間:2008-1-14
/// 首發(fā)地址:http://blog.csdn.net/zhoufoxcn
/// </summary>
public class GetSystemInfo
{
/// <summary>
/// 獲取操作系統(tǒng)序列號(hào)
/// </summary>
/// <returns></returns>
public string GetSerialNumber()
{
string result = "";
ManagementClass mClass = new ManagementClass("Win32_OperatingSystem");
ManagementObjectCollection moCollection = mClass.GetInstances();
foreach (ManagementObject mObject in moCollection)
{
result += mObject["SerialNumber"].ToString() + " ";
}
return result;
}
/// <summary>
/// 查詢CPU編號(hào)
/// </summary>
/// <returns></returns>
public string GetCpuID()
{
string result = "";
ManagementClass mClass = new ManagementClass("Win32_Processor");
ManagementObjectCollection moCollection = mClass.GetInstances();
foreach (ManagementObject mObject in moCollection)
{
result += mObject["ProcessorId"].ToString() + " ";
}
return result;
}
/// <summary>
/// 查詢硬盤(pán)編號(hào)
/// </summary>
/// <returns></returns>
public string GetMainHardDiskId()
{
string result = "";
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
ManagementObjectCollection moCollection = searcher.Get();
foreach (ManagementObject mObject in moCollection)
{
result += mObject["SerialNumber"].ToString() + " ";
}
return result;
}
/// <summary>
/// 主板編號(hào)
/// </summary>
/// <returns></returns>
public string GetMainBoardId()
{
string result = "";
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root/CIMV2",
"SELECT * FROM Win32_BaseBoard");
ManagementObjectCollection moCollection = searcher.Get();
foreach (ManagementObject mObject in moCollection)
{
result += mObject["SerialNumber"].ToString() + " ";
}
return result;
}
/// <summary>
/// 主板編號(hào)
/// </summary>
/// <returns></returns>
public string GetNetworkAdapterId()
{
string result = "";
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT MACAddress FROM Win32_NetworkAdapter WHERE ((MACAddress Is Not NULL)AND (Manufacturer <> 'Microsoft'))");
ManagementObjectCollection moCollection = searcher.Get();
foreach (ManagementObject mObject in moCollection)
{
result += mObject["MACAddress"].ToString() + " ";
}
return result;
}
/// <summary>
/// 主板編號(hào)
/// </summary>
/// <returns></returns>
public string GetGroupName()
{
string result = "";
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root/CIMV2", "SELECT * FROM Win32_Group");
ManagementObjectCollection moCollection = searcher.Get();
foreach (ManagementObject mObject in moCollection)
{
result += mObject["Name"].ToString() + " ";
}
return result;
}
/// <summary>
/// 獲取本地驅(qū)動(dòng)器信息
/// </summary>
/// <returns></returns>
public string GetDriverInfo()
{
string result = "";
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root/CIMV2", "SELECT * FROM Win32_LogicalDisk");
ManagementObjectCollection moCollection = searcher.Get();
foreach (ManagementObject mObject in moCollection)
{
//mObject["DriveType"]共有6中可能值,分別代表如下意義:
//1:No type 2:Floppy disk 3:Hard disk
//4:Removable drive or network drive 5:CD-ROM 6:RAM disk
//本處只列出固定驅(qū)動(dòng)器(硬盤(pán)分區(qū))的情況
if (mObject["DriveType"].ToString() == "3")
{
result += string.Format("Name={0},FileSystem={1},Size={2},FreeSpace={3} ", mObject["Name"].ToString(),
mObject["FileSystem"].ToString(), mObject["Size"].ToString(), mObject["FreeSpace"].ToString());
}
}
return result;
}
}
}
程序的運(yùn)行結(jié)果如下(不同機(jī)器上的結(jié)果會(huì)不相同):

最后說(shuō)明:雖然絕大部分Windows操作系統(tǒng)已經(jīng)安裝了WMI(根據(jù)微軟官方說(shuō)法是自WinME以后的Windows系統(tǒng)包括WinME都安裝了),但是不能保證上面的代碼能在所有的Windows操作系統(tǒng)之上,如Win95之類,如果在不支持WMI的Windows系統(tǒng)上運(yùn)行WMI,那么需要從MSDN下載WMI。
另外,運(yùn)行WMI需要當(dāng)前Windows登錄用戶有一定的權(quán)限,由于本人開(kāi)發(fā)時(shí)是以管理員的身份登錄并運(yùn)行程序的,所以沒(méi)有權(quán)限異常提示,但是我不保證代碼在你處運(yùn)行也正常,特別是在WebForm的環(huán)境下,因?yàn)閍sp.net程序默認(rèn)是較低的權(quán)限運(yùn)行的(安全原因)。
下載地址
人氣軟件

Java SE Development Kit(JDK) 17.0.15 官方正式版 Win64
JDK11(Java SE Development Kit 11) v11.0.27 x64 LTS 長(zhǎng)期支持
EXT界面圖形工具Ext Designer 特別版
JetBrains Pycharm Pro 2025.1 中文專業(yè)免費(fèi)正式版(附漢化包+安
intellij IDEA v2025.1 社區(qū)版 官方中文正式版(附漢化包+安裝方
myeclipse2016破解工具 v1.0 破解補(bǔ)丁(附安裝教程)
Java SE Development Kit(JDK1.8) jdk-8u451-windows-x64.exe 64
Java SE Development Kit(JDK) 17.0.15 官方正式版 Linux64
安卓集成開(kāi)發(fā)工具Android Studio 2024.3.1.13 + SDK 2024.1.09 W
Zend Studio 10.1.0與10.0.1 破解文件與注冊(cè)碼打包
相關(guān)文章
-
CodeAsk for Linux (代碼分析工具) v1.0.3 免費(fèi)Linux版CodeAsk是一款基于大模型的代碼分析工具,通過(guò)提示詞可提供智能的代碼梳理與分析、安全漏洞檢測(cè)、代碼質(zhì)量評(píng)估等功能,還能生成有趣的prompt,助力開(kāi)發(fā)者高效理解和維護(hù)代...
-
玄機(jī)寶盒(C#百寶箱 ) v3.7 便攜綠色免費(fèi)版玄機(jī)寶盒是一個(gè)集成了多種功能的C#編程輔助工具,特別適用于C#開(kāi)發(fā)者進(jìn)行調(diào)試、處理正則表達(dá)式、網(wǎng)絡(luò)請(qǐng)求以及系統(tǒng)交互等任,歡迎需要的朋友下載使用...
-
Java SE Development Kit 24(JDK24) v24.0.1 官方正式版 Win64JDK24是一款Java開(kāi)發(fā)工具包,包含Java運(yùn)行環(huán)境(java運(yùn)行庫(kù)),Java開(kāi)發(fā)套件和Java基礎(chǔ)類庫(kù)源代碼,JDK24是Java開(kāi)發(fā)套件非LTS長(zhǎng)期支持版本,引入了許多令人興奮的新特性,不...
-
鯨魚(yú)積木編程(無(wú)人機(jī)) V1.1.3 官方安裝版鯨魚(yú)積木編程是一款適用于無(wú)人機(jī)的編程軟件,支持同步生成Python和C語(yǔ)言代碼,提供圖形化編程工具和趣味教學(xué)方式,適合編程啟蒙,軟件包含多種傳感器、邏輯、數(shù)學(xué)和AI功能...
-
微軟AI開(kāi)發(fā)Microsoft .NET V10.0.100 P2 中文免費(fèi)最新版 32/64位.NET 10 首個(gè)預(yù)覽版推出,.NET 10 是 .NET 9 的后繼版本,將作為長(zhǎng)期支持維護(hù) (LTS) 版本提供 3 年的支持,涵蓋 .NET Runtime、SDK、libraries、C#、ASP.NET Core、Blazo...
-
CodeAsk(代碼分析工具) v1.0.4 綠色免費(fèi)版CodeAsk是一款基于大模型的代碼分析工具,通過(guò)提示詞可提供智能的代碼梳理與分析、安全漏洞檢測(cè)、代碼質(zhì)量評(píng)估等功能,還能生成有趣的prompt,助力開(kāi)發(fā)者高效理解和維護(hù)代...
下載聲明
☉ 解壓密碼:www.dbjr.com.cn 就是本站主域名,希望大家看清楚,[ 分享碼的獲取方法 ]可以參考這篇文章
☉ 推薦使用 [ 迅雷 ] 下載,使用 [ WinRAR v5 ] 以上版本解壓本站軟件。
☉ 如果這個(gè)軟件總是不能下載的請(qǐng)?jiān)谠u(píng)論中留言,我們會(huì)盡快修復(fù),謝謝!
☉ 下載本站資源,如果服務(wù)器暫不能下載請(qǐng)過(guò)一段時(shí)間重試!或者多試試幾個(gè)下載地址
☉ 如果遇到什么問(wèn)題,請(qǐng)?jiān)u論留言,我們定會(huì)解決問(wèn)題,謝謝大家支持!
☉ 本站提供的一些商業(yè)軟件是供學(xué)習(xí)研究之用,如用于商業(yè)用途,請(qǐng)購(gòu)買正版。
☉ 本站提供的WMI代碼生成器(WMI Code Creator) 1.0 漢化綠色免費(fèi)版資源來(lái)源互聯(lián)網(wǎng),版權(quán)歸該下載資源的合法擁有者所有。


