gpt4 book ai didi

vb.net - 在 vb.net 中从 HDD 获取 RPM 以及磁盘是否为 SSD

转载 作者:行者123 更新时间:2023-12-02 01:33:54 29 4
gpt4 key购买 nike

正如标题所说,我正在 vb.net 中工作,并试图在文本框中获取硬盘的 RPM。接下来,我试图确定我的磁盘是 HDD 还是 SSD。

我已经在网上搜索了整整一周我能想到的任何东西,我能找到的只是使用以下方法读取温度:

Const TEMPERATURE_ATTRIBUTE As Byte = 115
Public Function GetDriveTemp() As String
Dim retval As String = "Temp: "
Try
Dim searcher As New ManagementObjectSearcher("root\WMI", "SELECT * FROM MSStorageDriver_ATAPISmartData")
'loop through all the hard disks
For Each queryObj As ManagementObject In searcher.[Get]()
Dim arrVendorSpecific As Byte() = DirectCast(queryObj.GetPropertyValue("VendorSpecific"), Byte())
'Find the temperature attribute
Dim tempIndex As Integer = Array.IndexOf(arrVendorSpecific, TEMPERATURE_ATTRIBUTE)
retval = (arrVendorSpecific(tempIndex + 5))
Next
Catch err As ManagementException
Console.WriteLine("An error occurred while querying for WMI data: " + err.Message)
End Try
Return retval
End Function

我知道字节 115 是硬盘温度,但我无法找出所有其他字节代表什么。有人有什么想法吗?

我需要知道如何搜索普通 HDD 没有的 SSD 特定值。我知道有,但我似乎找不到任何东西。

接下来我需要找出 HDD(不是 SSD)的 RPM 是多少

最佳答案

现在似乎有更好的方法(C#):

using (var partitionSearcher = new ManagementObjectSearcher(
@"\\localhost\ROOT\Microsoft\Windows\Storage",
$"SELECT DiskNumber FROM MSFT_Partition WHERE DriveLetter='{upperCaseDiskLetter}'"))
{
var partition = partitionSearcher.Get().Cast<ManagementBaseObject>().Single();

using (var physicalDiskSearcher = new ManagementObjectSearcher(
@"\\localhost\ROOT\Microsoft\Windows\Storage",
$"SELECT Size, Model, MediaType FROM MSFT_PhysicalDisk WHERE DeviceID='{ partition["DiskNumber"] }'"))
{
var physicalDisk = physicalDiskSearcher.Get().Cast<ManagementBaseObject>().Single();
var isSsd =
(UInt16)physicalDisk["MediaType"] == 4 ||
SSDModelSubstrings.Any(substring => result.Model.ToLower().Contains(substring)); ;

}
}

基于相同的基础类型,但在 PowerShell 中稍微简单一些:

$is_disk_C_SSD = (Get-PhysicalDisk | ?{$_.DeviceId -eq (Get-Partition -DriveLetter 'C')[0].DiskNumber})[0].MediaType -eq 'SSD'

关于vb.net - 在 vb.net 中从 HDD 获取 RPM 以及磁盘是否为 SSD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21921973/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com