[原创]调用 api 实例(检索指定磁盘设备描述符,即磁盘型号、序列号、总线类型等)(storage_device_descriptor)
2023-7-11 1856

 

 

此处内容隐藏,回复后可见!立即回复  回复后请刷新页面!刷新

最后于 2023-7-17 被527104427编辑 ,原因:
收藏
点赞
分享
https://www.123pan.com/s/NflRVv-Cm5Sh
最新回复 (40)
  • avatar image
    anson4 2023-8-4

    感谢分享!

    单机计算
  • avatar image
    爱心会员VIP会员
    527104427 2023-8-4
    楼主   3
    此楼层已删除
    https://www.123pan.com/s/NflRVv-Cm5Sh
  • avatar image
    爱心会员VIP会员
    527104427 2023-8-4
    楼主   4
    anson4 感谢分享!

    我记得你以前问过怎么获取硬盘型号对吧?

            call GetStr SerialNumber %SerialNumberOffset%

    后面加几句:

            sed -ex VendorId=0,\b+, ,VendorId
            mstr * -trimright ProductId=ProductId
            set ModelNumber=%VendorId%%ProductId%


    这个 ModelNumber 就是硬盘的型号。pecmd 的 part 命令不完善,很多获取不到型号,用 api 就可以。

    https://www.123pan.com/s/NflRVv-Cm5Sh
  • avatar image
    anson4 2023-8-5

    是的,是下面这样对吗?

    我的 Samsung SSD 970 EVO Plus  获取到的 %ModelNumber% 与 %ProductId% 的值一样。

    ......		
    call GetStr ProductRevision %ProductRevisionOffset%
    call GetStr SerialNumber %SerialNumberOffset%
    sed -ex VendorId=0,\b+, ,VendorId
    mstr * -trimright ProductId=ProductId
    set ModelNumber=%VendorId%%ProductId%
    ......
    
    单机计算
  • avatar image
    爱心会员VIP会员
    527104427 2023-8-5
    楼主   6
    anson4 是的,是下面这样对吗? 我的 Samsung SSD 970 EVO Plus  获取到的 %ModelNumber% 与 %ProductId% 的值一样。 ...... ...

    用win7试试就知道了,vendorID不是空的。

    https://www.123pan.com/s/NflRVv-Cm5Sh
  • avatar image
    anson4 2023-8-5

    好的,谢谢!

    单机计算
  • avatar image

    下载看看

    没有个性
  • avatar image
    pda8888 2023-8-24

    谢谢分享,学习膜拜!

    学习至上
  • avatar image
    jonyzhr 2023-9-1

    感谢分享,学习。。。

    WINST
  • avatar image
    keketoco00 2023-9-15

    谢谢

    Keketoco00
  • avatar image
    panjunxx 2023-9-19

    感谢分享!🤗

    6666
  • avatar image
    USER555 2023-9-27

    感谢分享!

  • avatar image
    holley 2023-9-28

    感谢分享!

    昨天再好,也走不回去;明天再难,也要抬脚继续。
  • avatar image
    xhzkp 2023-9-29

    感谢大佬分享

  • avatar image
    xhzkp 2023-9-29

    5大, 请教一个问题 DeviceType: 0x0  是什么类型? 怎样显示是SSD还是HDD呢?

  • avatar image
    hnoel2695 2023-9-30

    感谢分享!

  • avatar image
    爱心会员VIP会员
    527104427 2023-9-30
    楼主   18
    此楼层已删除
    https://www.123pan.com/s/NflRVv-Cm5Sh
  • avatar image
    爱心会员VIP会员
    527104427 2023-9-30
    楼主   19

    这里的 DeviceType 无意义,有意义的在这里:

    https://pecmd.net/thread-558.htm

     

    但这个并不能作为判断是否 SSD 的依据,网上判断的方法在这里:

    http://fresky.github.io/2015/07/09/check-ssd-disk-with-csharp/

    需要高手翻译成 PECMD 代码。

     

    其实 PECMD 获取 媒体类型 和 总线类型 很简单,就一句。我写的调用 api 实例,是演示获取的原理,没有 PECMD 内置命令方便。
    form MediaType,BusType=\\.\PhysicalDrive0
    mess. [%MediaType%][%BusType%]

     

     

     

     

     

     

    https://www.123pan.com/s/NflRVv-Cm5Sh
  • avatar image
    anson4 2023-10-20
    527104427 用win7试试就知道了,vendorID不是空的。

    今天发现,我有一块 INTEL 固态,在Win7下获取到的 VendorID 是“INTE”,而用 DG 查看这款硬盘的 SMART 信息时,显示的硬盘厂商却是正确的“INTEL”。而且在其他系统(XP、2008R2、2012、2016、2019、2022、Win10、Win11)下获取到的也都是“INTEL”。

    有什么办法在Win7也能获取到正确的信息吗?

    2023-10-20_172654.webp

     

    单机计算
  • avatar image
    爱心会员VIP会员
    527104427 2023-10-20
    楼主   21
    anson4 今天发现,我有一块 INTEL 固态,在Win7下获取到的 VendorID 是“INTE”,而用 DG 查看这款硬盘的 SMART 信息时,显示的硬盘厂商却是 ...

    这个位置加几句:

    file -force "%desktop%\logs.log"
    putf# -dd "%desktop%\logs.log",0,lpOutBuffer
    set @@DeskTopFresh=1

     

    然后把log文件发上来看看。

     

     

    QQ截图20231020182849.webp

    https://www.123pan.com/s/NflRVv-Cm5Sh
  • avatar image
    anson4 2023-10-21
    527104427 这个位置加几句: file -force "%desktop%\logs.log"putf# -dd "%desktop%\logs.log",0,lpOut ...

    来了

     

    上传的附件:
    • logs.log (上传时间:2023-10-21 13:30:40,大小:1.04K,下载次数:2)
    单机计算
  • avatar image
    爱心会员VIP会员
    527104427 2023-10-21
    楼主   23
    anson4 来了  

    我以为是代码的bug,没想到原始数据都缺个L,这就没办法了。或者可以用pecmd的part -devidx补救一下

    https://www.123pan.com/s/NflRVv-Cm5Sh
  • avatar image
    anson4 2023-10-21
    527104427 我以为是代码的bug,没想到原始数据都缺个L,这就没办法了。或者可以用pecmd的part -devidx补救一下

    这个很神奇啊,换个系统比如Win10或者XP,得到的结果是有L的。

    XP、2008R2、2012、2016、2019、2022、Win10、Win11都有L,就Win7没有。

    单机计算
  • avatar image
    holley 2023-10-26

    感谢分享,我来学习

    昨天再好,也走不回去;明天再难,也要抬脚继续。
返回