狼奔代碼生成器 V6.1 綠色免費版5.35MB / 12-29
項目代碼生成工具 v1.18.08.18.0 免費綠色版5.23MB / 12-12
CodeGenX(代碼生成工具) V1.1免費綠色版47KB / 06-11
Flash CS6代碼一鍵生成工具 v1.2 綠色免費版522KB / 04-25
CodeMaker(C#代碼生成器) 1.0 綠色免費版973KB / 01-08
詳情介紹
WMI是一種輕松獲取系統(tǒng)信息的強大工具。利用它但是由于缺少WMI的介紹資料和學習資料(特別是中文的,因為國內大部分程序員的E文水平都比較湊合,呵呵,本人也是相當湊合),所以知道WMI的不多,能運用的就少之又少了。
WMI Code Creator是微軟提供的一個WMI代碼生成工具,這篇文章主要是介紹WMI Code Creator的用法的。首先說明這個軟件是在.net Framework 2.0下編譯的,所以在運行軟件是需要.net Framework 2.0支持。
WMI代碼生成器的界面如下:

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

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

下面是選擇目標編程語言為C#后生成的代碼,如下圖所示:

WMI代碼生成器默認是連接到本地機器,不過也提供了連接遠程主機或者主機組的功能,這個可以在目標機器中選擇。如下圖所示。

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

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

然后還需要在我們的程序開始處添加如下代碼:System.Management,這樣我們采用使用這個命名空間下的類來進行WMI編程。
下面我將用一個方法展示我剛才提到的如何在.net里獲取操作系統(tǒng)序列號:
/// <summary>
/// 獲取操作系統(tǒng)序列號
/// </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;
}
我想這個方法夠簡單的了。
下面貼出一些常用的方法來獲取系統(tǒng)相關的信息,代碼如下:
using System;
using System.Collections.Generic;
using System.Text;
namespace WMIDemo
{
/// <summary>
/// 說明:這個類很簡單,主要包含一個Main方法
/// 作者:周公
/// 日期:2008-1-14
/// 首發(fā)地址:http://blog.csdn.net/zhoufoxcn
/// </summary>
class Program
{
static void Main(string[] args)
{
GetSystemInfo getInfo = new GetSystemInfo();
Console.WriteLine("序列號="+getInfo.GetSerialNumber());
Console.WriteLine("CPU編號=" + getInfo.GetCpuID());
Console.WriteLine("硬盤編號=" + getInfo.GetMainHardDiskId());
Console.WriteLine("主板編號=" + getInfo.GetMainBoardId());
Console.WriteLine("網卡編號=" + getInfo.GetNetworkAdapterId());
Console.WriteLine("用戶組=" + getInfo.GetGroupName());
Console.WriteLine("驅動器情況=" + getInfo.GetDriverInfo());
Console.ReadLine();
}
}
}
由于是一個命令行程序,所以有上面那個類,下面這個類才包含我要展示的代碼:
using System;
using System.Collections.Generic;
using System.Text;
using System.Management;
namespace WMIDemo
{
/// <summary>
/// 說明:這個類主要用來展示如何利用WMI來獲取一些操作系統(tǒng)的信息
/// 作者:周公
/// 時間:2008-1-14
/// 首發(fā)地址:http://blog.csdn.net/zhoufoxcn
/// </summary>
public class GetSystemInfo
{
/// <summary>
/// 獲取操作系統(tǒng)序列號
/// </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編號
/// </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>
/// 查詢硬盤編號
/// </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>
/// 主板編號
/// </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>
/// 主板編號
/// </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>
/// 主板編號
/// </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>
/// 獲取本地驅動器信息
/// </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ū))的情況
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;
}
}
}
程序的運行結果如下(不同機器上的結果會不相同):

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

Java SE Development Kit(JDK) 17.0.19 官方正式版 Win64
Java SE Development Kit(JDK) 17.0.19 官方正式版 Linux64
JetBrains Pycharm Pro v2026.1.2 中文專業(yè)免費正式版(附漢化包+
intellij IDEA v2026.1.2 官方中文正式版(附漢化包+安裝方法)
JDK11(Java SE Development Kit 11) v11.0.31 x64 LTS 長期支持
Java SE Development Kit(JDK) 21.0.11 LTS 官方正式版 Win64
Java SE Development Kit(JDK1.8) jdk-8u491-windows-x64.exe 64
WinHex v21.0 綠色漢化特別版(無需注冊)
EXT界面圖形工具Ext Designer 特別版
python v3.14.5 for Windows(python開發(fā)環(huán)境工具) 官方正式版(附
相關文章
-
OpenAI Codex桌面版(AI智能編程助手) v26.519.5221.0 官方免費版OpenAI Codex桌面版是OpenAI官方針對windows平臺而開發(fā)的一款新一代AI智能編程助手,基于GPT架構打造的強大代碼生成引擎,通過深度學習技術,能夠理解自然語言并轉換為高質...
-
BitFun(AI輔助編程工具) v0.2.3 安裝版BitFun(AI輔助編程工具)是一款非常專業(yè)的ai助理系統(tǒng),通過這個工具可以幫助你生成各種代碼,代理你的電腦桌面工作,各種平臺都支持交互使用,設定各種ai任務,一鍵快速完成...
-
華為云碼道CodeArts(智能編碼) v26.3.11 官方安裝版華為云碼道由華為云推出的智能編碼工具,這款軟件兼容JetBrains系列、Visual Studio Code等主流IDE,并搭載華為自研Java語言支持,打造的下一代Java開發(fā)體驗等,歡迎下載使...
-
nvm for windows(nodejs版本管理工具) v1.2.2 安裝版nvm全英文也叫node.js version management,是一個nodejs的版本管理工具,nvm和n都是node.js版本管理工具,為了解決node.js各種版本存在不兼容現(xiàn)象可以通過它可以安裝和切換...
-
通義靈碼Lingma IDE(編碼輔助工具) v0.4.0 linux最新安裝版通義靈碼Lingma IDE電腦端使用的編程輔助軟件,這款軟件提供了代碼智能生成、智能問答、多文件修改、編程智能體等功能,本站提供的是這款軟件的linux安裝版本...
-
Claude(AI編程工具) v1.1.381 官方安裝版Claude官方版是由美國人工智能公司Anthropic開發(fā)的一款AI編程工具,具備廣泛的能力,能自主跨文件、瀏覽器和應用運行,不僅讓工程師高效完成復雜項目,還讓非技術用戶輕松...
下載聲明
☉ 解壓密碼:m.fzitv.net 就是本站主域名,希望大家看清楚,[ 分享碼的獲取方法 ]可以參考這篇文章
☉ 推薦使用 [ 迅雷 ] 下載,使用 [ WinRAR v5 ] 以上版本解壓本站軟件。
☉ 如果這個軟件總是不能下載的請在評論中留言,我們會盡快修復,謝謝!
☉ 下載本站資源,如果服務器暫不能下載請過一段時間重試!或者多試試幾個下載地址
☉ 如果遇到什么問題,請評論留言,我們定會解決問題,謝謝大家支持!
☉ 本站提供的一些商業(yè)軟件是供學習研究之用,如用于商業(yè)用途,請購買正版。
☉ 本站提供的WMI代碼生成器(WMI Code Creator) 1.0 漢化綠色免費版資源來源互聯(lián)網,版權歸該下載資源的合法擁有者所有。









