c# 通過wbemtest和WMI Code Cretor更加高效的訪問WMI
第一步:
官網(wǎng)(或跟硬件開發(fā)WMI的人溝通你需要的接口和參數(shù)定義,如果是和硬件開發(fā)的人協(xié)定WMI接口,直接看第二步)查找你需要的WMI信息;
舉例我需要獲取顯示器信息
我先biying搜索需要哪個WMI,再microsoft的docs下找到對應(yīng)的WMI Requirements詳細信息。
比如我知道了我需要WmiMonitorConnectionParams 來獲取顯示器信息。那么我去docs文檔中搜索WmiMonitorConnectionParams ,地址如下:
WmiMonitorConnectionParams class - Win32 apps | Microsoft Docs
我們看下圖的Namespace的Value是Root\wmi
我們就知道了,他書屬于namespace命名空間的同時我們再網(wǎng)站的上面找到Properties,看到有一個一個InstanceName和一個VideoOutputTechnology,分別是string類型和uint32類型。
我們目前需要的信息就這么多,然后我們開始快速的再需要驗證的機器上來驗證接口返回信息,如果有問題。
第二步:
不需要寫代碼,快速驗證接口是否可用。
(避免有因為個人代碼導(dǎo)致的其他問題,占用大量溝時間,這種軟硬件結(jié)合的溝通調(diào)試成本較高)
使用Win+R鍵打開允許輸入wbemtest.exe按下回車,這是系統(tǒng)自帶的WMI工具。
這個就是我們快速驗證WMI的工具。
(1)點擊連接。
(2)再彈出框的命名空間理輸入我們剛才再網(wǎng)上查到的命名空間:Root\wmi。因為我們不是遠程連接到其他電腦,所以連接保持默認。點擊右上角連接。
(3)不一樣的WMI消息查詢方式是不一樣的,比如有的是主動查詢、有的是被動接受。主要差別是再選擇查詢和通知查詢上。更為復(fù)雜的操作我們這里目前用不上,因為我們主要是為了驗證WMI。
本次我們點擊查詢,因為是我們主動查詢顯示器信息,這不是一個事件,在彈出的查詢對話框中輸入:
SELECT InstanceName, VideoOutputTechnology FROM WmiMonitorConnectionParams
點擊應(yīng)用,出現(xiàn)下圖就代表該接口能正常訪問,如果提示錯誤,就代表輸入有問題?;蜉斎氲腤MI有問題,需要調(diào)試或跟對應(yīng)的人員溝通,如果是硬件給你發(fā)送的WMI,要確認這臺機器上硬件以調(diào)試好,能正常發(fā)送WMI消息。
達到這樣的效果,WMI就相當于測試通拉,是不是快速驗證WMI特別方便和快捷?能大量提高溝通效率。 接下來就是代碼環(huán)節(jié)了。
第三步:
使用WMI工具生成代碼:
WMI Code Creator是微軟提供的一個WMI代碼生成工具,用于生成對應(yīng)的WMI訪問代碼??梢赃x擇
從這個網(wǎng)站下載軟件:
Download WMI Code Creator v1.0 from Official Microsoft Download Center
我們點擊Code Language 切換到C# 。
(1)Namespace:選擇root\WMI (-------注意大小寫?。?!-------)
(2)再Classes選擇或輸入我們查到的WmiMonitorConnectionParams 。
(3)再result下勾選我們要查詢的內(nèi)容,3個我們都要查。
(4)代碼就會再右側(cè)出現(xiàn)了。這樣的話。就能正常的移植代碼到我們的項目中拉。
(5)這個訪問WMI的功能微軟主要封裝在System.Management的命名空間下。剩下的就可以自己擴展拉。有自己去訪問得到值得WMI。還有接受事件得WMI。主要思路就是先查或定義自己要用得WMI接口然后查詢或者協(xié)商定義參數(shù)。然后再這里封裝代碼就可以拉。
以上就是c# 通過wbemtest和WMI Code Cretor更加高效的訪問WMI的詳細內(nèi)容,更多關(guān)于c# 高效的訪問WMI的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C#使用NPOI實現(xiàn)Excel導(dǎo)入導(dǎo)出功能
這篇文章主要為大家詳細介紹了C#使用NPOI實現(xiàn)Excel導(dǎo)入導(dǎo)出功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02C#影院售票系統(tǒng)畢業(yè)設(shè)計(4)
這篇文章主要介紹了C#影院售票系統(tǒng)畢業(yè)設(shè)計,學(xué)習(xí)內(nèi)容是總結(jié)銷售信息的保存以及加載銷售信息,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2015-11-11WPF利用TextBlock實現(xiàn)查找結(jié)果高亮顯示效果
在應(yīng)用開發(fā)過程中,經(jīng)常遇到這樣的需求:通過關(guān)鍵字查找數(shù)據(jù),把帶有關(guān)鍵字的數(shù)據(jù)顯示出來,同時在結(jié)果中高亮顯示關(guān)鍵字,所以本文就來和大家介紹一下如何利用TextBlock實現(xiàn)查找結(jié)果高亮顯示效果吧2023-08-08