0

我正在尝试构建一个可以从 Windows 机器收集性能数据的小型软件应用程序。

这是我使用的代码和 PrintScreen 的一部分,它给了我不正确的数字。请告诉我我的代码有什么问题以及为什么代码中的比例不正确。(默认比例为 1)

打印屏幕:http : //postimage.org/image/6za0g7e4t/

ManagementScope oMs = new System.Management.ManagementScope("root\\cimv2");
                //Inventory
                ObjectQuery InventQuery = new ObjectQuery("SELECT * FROM Win32_OperatingSystem");
                ManagementObjectSearcher Inventsearcher = new ManagementObjectSearcher(oMs, InventQuery);
                ManagementObjectCollection InventCollection = Inventsearcher.Get();

                foreach (ManagementObject mgt in InventCollection)
                {
                    outBox.AppendText(mgt["csname"].ToString() + "\n");
                }

                //Performance
                //ObjectQuery PerfQuery = new ObjectQuery("SELECT * FROM Win32_PerfRawData_PerfDisk_PhysicalDisk");
                ObjectQuery PerfQuery = new ObjectQuery("SELECT * FROM Win32_PerfRawData_PerfDisk_LogicalDisk");
                ManagementObjectSearcher Perfsearcher = new ManagementObjectSearcher(oMs, PerfQuery);
                ManagementObjectCollection PerfCollection = Perfsearcher.Get();

                foreach (ManagementObject mgt in PerfCollection)
                {
                    mgt.SetPropertyQualifierValue("DiskWritesPerSec", "DefaultScale", ScaleBox.Text);
                    mgt.SetPropertyQualifierValue("DiskReadsPerSec", "DefaultScale", ScaleBox.Text);
                    outBox.AppendText("Write IOps: " + mgt["Name"].ToString() + " ");
                    outBox.AppendText("Write IOps: " + mgt["DiskWritesPerSec"].ToString() + " ");
                    outBox.AppendText("Read  IOps: " + mgt["DiskReadsPerSec"].ToString() + "\n");
                }     
4

0 回答 0