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

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

由“如何取得CPU的溫度與型號(hào)”學(xué)到的知識(shí)延伸WQL

2019-11-17 03:24:02
字體:
供稿:網(wǎng)友

由“如何取得CPU的溫度與型號(hào)”學(xué)到的知識(shí)延伸WQL

【Base】:WMI是一項(xiàng)核心的 Windows 管理技術(shù);用戶可以使用 WMI 管理本地和遠(yuǎn)程計(jì)算機(jī)。WQL就是 WMI 中的查詢語言,翻譯成中文好像可以成為 Windows 管理規(guī)范查詢語言。

1.如何獲取CPU的溫度與型號(hào)

由于視窗本身并無提供各項(xiàng)硬體溫度的監(jiān)控方式,因此WMI雖然是的Windows提供的管理服務(wù),但仍然需要硬體支援才能得到所需的資訊。

MSAcpi_ThermalZoneTemperature顧名思義是透過Acpi這個(gè)共同管理界面來查詢,因此您的系統(tǒng)必須具備Acpi熱區(qū)才有辦法問到,而Acpi熱區(qū)其實(shí)是筆記本電腦設(shè)計(jì)下的產(chǎn)品,在PC系統(tǒng)下并無Acpi熱區(qū)的設(shè)計(jì)。

一般在電腦上是使用Win32_TemperaturePRobe進(jìn)行查詢,但由于Win32_TemperatureProbe是直接問SMBIOS ,由SMBIOS里面挖出資料,但SMBIOS是否有支援WMI是由主機(jī)板廠商決定。也就是說,若主板廠商有支援WMI ,便可以使用Win32_TemperatureProbe的CurrentReading讀到CPU溫度。但很不幸的,大多數(shù)(幾乎可說是全部)的主板廠商都沒有支援這項(xiàng)功能。

WMI的Windows管理規(guī)范提供系統(tǒng),裝置和應(yīng)用程式資訊,在.NET中提供的System.Management命名空間取得WMI的訊息,以下介紹如何取得CPU的溫度與序號(hào)。

使用ManagementObjectSearcher對(duì)象類別,使用前必須先將的System.Management加入引用

        private void GetCPUTemperature()        {            double CPUtprt = 0;            System.Management.ManagementObjectSearcher mos                = new System.Management.ManagementObjectSearcher(@"root/WMI", "Select * From MSAcpi_ThermalZoneTemperature");            foreach (System.Management.ManagementObject mo in mos.Get())            {                CPUtprt = Convert.ToDouble(Convert.ToDouble(mo.GetPropertyValue("CrrentTemperature").ToString()) - 2732) / 10;                label1.Text = "CPU溫度:" + CPUtprt.ToString() + "°C/n";            }        }        private void GetCPUCode()        {            ManagementObjectSearcher moSearch = new ManagementObjectSearcher("SELECT * FROM Win32_Processor");            foreach (ManagementObject mObject in moSearch.Get())            {                this.label1.Text+=(mObject["ProcessorId"].ToString());            }        }

2.WQL知識(shí)

WQL就是 WMI 中的查詢語言,WQL 的全稱是 WMI Query Language,簡稱為 WQL,翻譯成中文好像可以成為 Windows 管理規(guī)范查詢語言。熟悉 SQL 語言的朋友會(huì)感覺它和 SQL 非常相似。

WQL 其實(shí)非常簡單,它有如下特點(diǎn):

1、每個(gè) WQL 語句必須以 SELECT 開始;

2、SELECT 后跟你需要查詢的屬性名(我剛才對(duì)應(yīng) SQL 將其稱之為字段名了),也可以像 SQL 一樣,以*表示返回所有屬性值;

3、FROM 關(guān)鍵字;

4、你要查詢的類的名字;

5、另外,如果你想精確查詢結(jié)果還可以加上 WHERE 條件從句。比如某個(gè)類有 Enable 屬性,你可以在查詢的時(shí)候加上 WHERE ENABLE=true。

就像這樣:

SELECT 字段名 FROM 類名

如以下的都是正確的 WQL 語句:

Select * From Win32_LogicalDisk where drivetype=3 ’‘’‘查詢所有硬盤分區(qū)

SELECT * FROM Win32_share ’‘查詢所有共享目錄

SELECT * FROM Win32_NetworkAdapterConfiguration WHERE DHCPEnabled=TRUE

SELECT Description FROM Win32_Account WHERE Name='Administrator'

SELECT Freespace,DeviceID FROM Win32_LogicalDisk

在 WinXP 和 Win2003 中有一個(gè)自帶的 WQL 測(cè)試工具,叫 wbemtest.exe,用它就能查看有哪些類和類有哪些 屬性,使用方法如下:

首先,運(yùn)行 wbemtest.exe,如下圖:

點(diǎn)“確定”之后會(huì)出現(xiàn)一個(gè)“Windows 管理規(guī)范測(cè)試器”的窗口,如下圖:

點(diǎn)擊“連接”會(huì)出現(xiàn)一個(gè)對(duì)話框,我們可以選擇連接本地主機(jī)或者遠(yuǎn)程主機(jī),如下圖:

如果是本機(jī)測(cè)試并且是用管理員身份登錄,可以不用填寫用戶名和密碼,如果是鏈接遠(yuǎn)程主機(jī)則需要填寫遠(yuǎn)程主機(jī)上的用戶名和密碼(建議使用遠(yuǎn)程主機(jī)上的管理員身份登錄),點(diǎn)擊“連接”之后就會(huì)回到主界面。注意,只有登錄之后才能查看和查詢。

點(diǎn)擊“查詢”按鈕,輸入我們要查詢的 WQL 語句,如"Select * From Win32_LogicalDisk",這是查詢系統(tǒng)邏輯驅(qū)動(dòng)器的 WQL 語句,如圖:

這是我們多半會(huì)得到一個(gè)號(hào)碼為"0x80041010" ,描述為"無效類別"的錯(cuò)誤,如下圖:

出現(xiàn)這個(gè)錯(cuò)誤是因?yàn)閯傞_始默認(rèn)的名稱空間為"root/default",這時(shí)我們需要更改名稱空間。再點(diǎn)擊“連接”按鈕,將默認(rèn)的"root/default"更改為"root/cimv2",然后再點(diǎn)"連接"按鈕,如下圖:

登錄成功之后我們就可以查看系統(tǒng)有哪些類,并且還可以執(zhí)行 WQL 查詢了。點(diǎn)擊"枚舉類別"按鈕,然后在彈出的對(duì)話框中輸入要查找的類名就可以查詢類的屬性了。如下圖(注意:我沒有填寫超類別名稱,并且選中"遞歸"單選按鈕,這樣就是遞歸列舉系統(tǒng)中所有的類):

查詢結(jié)果如下圖:

這些可都是有用的東西哦,如果你細(xì)心,你會(huì)這個(gè)列表里發(fā)現(xiàn)我以前所用到的 WQL 語句里設(shè)計(jì)到的所有的類,如 Win32_LogicalDisk、Win32_share 等等。需要注意的是,有些還有括號(hào),這些是方法。

下面是一些查詢的結(jié)果:

我們還可以對(duì)其中某一項(xiàng)數(shù)據(jù)雙擊查看屬性,如下圖:

如果我們不習(xí)慣這種方式查看,我們還可以點(diǎn)擊上面這個(gè)窗口中的"顯示 MOF“按鈕,下圖是我點(diǎn)擊"顯示MOF“按鈕的結(jié)果:

從上面的圖里就能看出這個(gè)類有哪些屬性及對(duì)應(yīng)的屬性值了。

今天的內(nèi)容看起來似乎和.net 沒有什么聯(lián)系,但是只有了解并且熟悉了 WQL 才能使我們快速和順利地編寫.net 代碼。

相信信息可以參照下面的地址了解:

http://msdn.microsoft.com/zh-cn/library/system.management.managementobjectsearcher(v=vs.100)

http://blog.useasp.net/archive/2013/06/15/the-tutorial-series-of-wql-that-the-sql-in-wmi-chapter-one-keyWords.aspx

3.WQL類

那么,在WMI中,我們有多少類可以供WQL查詢呢?這個(gè)Mitchell倒是沒有具體去統(tǒng)計(jì)數(shù)字,但在普通的操作中,能夠涉及到的卻并不是十分的多,我們可以用表格的形式列出在Win32下面比較常用的一些類。表格如下:

  • 類名

    描述

    Win32_Fan

    系統(tǒng)風(fēng)扇

    Win32_Keyboard

    鍵盤

    Win32_PointingDevice

    指示設(shè)備,如鼠標(biāo)

    Win32_CDROMDrive

    CD-ROM

    Win32_DiskDrive

    系統(tǒng)的硬盤

    Win32_PhysicalMedia

    任何存儲(chǔ)設(shè)備,在一般的機(jī)器上,包含CD-ROM,物理硬盤,軟驅(qū),磁帶機(jī)等

    Win32_BIOS

    系統(tǒng)BIOS

    Win32_CacheMemory

    系統(tǒng)的Cache內(nèi)存

    Win32_MemoryDevice

    內(nèi)存,含相關(guān)聯(lián)的映射地址

    Win32_PhysicalMemory

    物理內(nèi)存

    Win32_Processor

    CPU

    Win32_NetworkAdapter

    網(wǎng)絡(luò)適配器,含物理網(wǎng)卡

    Win32_NetworkAdapterConfiguration

    網(wǎng)絡(luò)適配器配置

    Win32_NetworkAdapterSetting

    網(wǎng)絡(luò)適配器以及其相關(guān)設(shè)定

    Win32_Printer

    打印/傳真設(shè)備

    Win32_DesktopMonitor

    顯示設(shè)備

    Win32_DisplayConfiguration

    顯示設(shè)備配置

    Win32_Desktop

    桌面

    Win32_Environment

    系統(tǒng)環(huán)境

    Win32_Directory

    文件目錄,所有的目錄

    Win32_DiskPartition

    發(fā)表評(píng)論 共有條評(píng)論
    用戶名: 密碼:
    驗(yàn)證碼: 匿名發(fā)表
    主站蜘蛛池模板: 友谊县| 巩义市| 茶陵县| 扶绥县| 拜城县| 云龙县| 中宁县| 牙克石市| 凤山市| 桂林市| 辛集市| 武汉市| 谷城县| 巍山| 龙胜| 砀山县| 湖南省| 上栗县| 大姚县| 磐安县| 周口市| 呈贡县| 武清区| 白银市| 科技| 尼木县| 漳浦县| 黑山县| 上思县| 泗阳县| 太仆寺旗| 霍林郭勒市| 江川县| 鸡西市| 昭平县| 彩票| 丰城市| 烟台市| 泗阳县| 新民市| 黄浦区|