无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: wintoflash
打印 上一主题 下一主题

[原创] 开源的硬件信息工具nwinfo [20260125]

    [复制链接]
781#
 楼主| 发表于 2026-1-9 12:42:05 | 只看该作者
红毛樱木 发表于 2026-1-9 12:57
附件解压出来。直接双击 pecmd.exe 就可以运行测试。
PECMD.exe.autoapp.wcs 为pecmd代码,记事本编 ...

这两天手边没电脑,过两天看一下。最近我发现nwinfo在xp下的很多问题都是yy-thunks导致的。在考虑去掉了

点评

我说的可能有问题。 把 yy-thunks 去掉之后,在2003PE里无法作为内置资源 LoadLibrary 了  详情 回复 发表于 2026-1-9 14:56
回复

使用道具 举报

782#
发表于 2026-1-9 14:56:29 | 只看该作者
wintoflash 发表于 2026-1-9 12:42
这两天手边没电脑,过两天看一下。最近我发现nwinfo在xp下的很多问题都是yy-thunks导致的。在考虑去掉了

我说的可能有问题。   把 yy-thunks 去掉之后,在2003PE里无法作为内置资源 LoadLibrary 了

点评

VC-LTL在这个commit引入了AcquireSRWLockExclusive/ReleaseSRWLockExclusive https://github.com/Chuyu-Team/VC-LTL5/commit/245b5ddeb63d20f127a6013a289f36cad0fb237b#diff-0978fcb793a0658f4af9e6139b1641133f82  详情 回复 发表于 2026-1-11 13:17
回复

使用道具 举报

783#
发表于 2026-1-9 16:30:23 | 只看该作者
方便实用
回复

使用道具 举报

784#
 楼主| 发表于 2026-1-11 13:17:35 | 只看该作者
本帖最后由 wintoflash 于 2026-1-11 14:19 编辑
红毛樱木 发表于 2026-1-9 15:56
我说的可能有问题。   把 yy-thunks 去掉之后,在2003PE里无法作为内置资源 LoadLibrary 了

找到大概的原因了。
VC-LTL在这个commit引入了AcquireSRWLockExclusive/ReleaseSRWLockExclusive
https://github.com/Chuyu-Team/VC ... 0af0f0dd9bd57a54b6a
NT5不支持这两个函数,而YY-Thunks对这两个函数的实现有问题。

https://github.com/Chuyu-Team/YY-Thunks/issues/122

点评

根据多年的临床经验,还是坚持 https://github.com/a1ive/libcdi/issues/6 这里的结论。 反复测试研究了,确认是最终结论。 具体步骤: 1、降级 VC-LTL 到 5.0.9 版 2、修改----- libcdi 属性------ NuGet程序  详情 回复 发表于 2026-1-13 02:12
牛逼牛逼,修复了说下。  详情 回复 发表于 2026-1-11 14:33
回复

使用道具 举报

785#
发表于 2026-1-11 13:45:27 | 只看该作者
大佬,啥时候支持显卡的子品牌显示

点评

https://nightly.link/a1ive/nwinfo/workflows/msbuild/master/NWinfo.zip 已支持PCI Subvendor查询。 HWID: 'PCI\VEN_8086&DEV_4908&SUBSYS_D0101EF7&REV_01'  详情 回复 发表于 2026-1-19 14:59
能不能提供一些显卡的hwid方便我研究测试一下?  详情 回复 发表于 2026-1-12 12:41
回复

使用道具 举报

786#
发表于 2026-1-11 14:33:18 | 只看该作者
wintoflash 发表于 2026-1-11 13:17
找到大概的原因了。
VC-LTL在这个commit引入了AcquireSRWLockExclusive/ReleaseSRWLockExclusive
https ...

牛逼牛逼,修复了说下。

点评

试试,好像不崩溃了  详情 回复 发表于 2026-1-16 09:58
回复

使用道具 举报

787#
 楼主| 发表于 2026-1-12 12:41:04 | 只看该作者
pandaligx 发表于 2026-1-11 14:45
大佬,啥时候支持显卡的子品牌显示

能不能提供一些显卡的hwid方便我研究测试一下?
回复

使用道具 举报

788#
发表于 2026-1-12 15:15:03 | 只看该作者
好工具
回复

使用道具 举报

789#
发表于 2026-1-13 02:12:22 | 只看该作者
本帖最后由 红毛樱木 于 2026-1-13 03:59 编辑
wintoflash 发表于 2026-1-11 13:17
找到大概的原因了。
VC-LTL在这个commit引入了AcquireSRWLockExclusive/ReleaseSRWLockExclusive
https ...

根据多年的临床经验,还是坚持
https://github.com/a1ive/libcdi/issues/6
这里的结论。
反复测试研究了,确认是最终结论。
具体步骤:
1、降级 VC-LTL 到 5.0.9 版
2、修改----- libcdi 属性------ NuGet程序包设置------ 启用VC-LTL---- 改为“是”(原始默认的是msvcrt)
以上两个步骤测试通过。
-------------------------
最后确认了一下 VC-LTL 测试版开始崩溃的具体版本:
v5.0.10-Beta2               OK
v5.1.1-Beta1                开始崩溃





点评

确实是目前唯一可行的办法。 需要找一个vc-ltl的替代品了。  详情 回复 发表于 2026-1-13 17:04
回复

使用道具 举报

790#
 楼主| 发表于 2026-1-13 17:04:37 | 只看该作者
红毛樱木 发表于 2026-1-13 03:12
根据多年的临床经验,还是坚持
https://github.com/a1ive/libcdi/issues/6
这里的结论。

确实是目前唯一可行的办法。
需要找一个vc-ltl的替代品了。

点评

反馈给作者呢,让他修正呗  详情 回复 发表于 2026-1-13 19:44
回复

使用道具 举报

791#
发表于 2026-1-13 19:44:44 | 只看该作者
wintoflash 发表于 2026-1-13 17:04
确实是目前唯一可行的办法。
需要找一个vc-ltl的替代品了。

反馈给作者呢,让他修正呗

点评

反馈这个没用的,根本没有人力修复这个。也很难搞出能稳定复现问题的简单的测试C/C++代码。  详情 回复 发表于 2026-1-13 21:00
回复

使用道具 举报

792#
 楼主| 发表于 2026-1-13 21:00:46 | 只看该作者
本帖最后由 wintoflash 于 2026-1-13 22:02 编辑
红毛樱木 发表于 2026-1-13 20:44
反馈给作者呢,让他修正呗

反馈这个没用的,根本没有人力修复这个。也很难搞出能稳定复现问题的简单的测试C/C++代码。
而且我发现还有很多YY-Thunks的问题。不如自己维护一套兼容XP的crt。

点评

自己弄,就搞更低一些,直接2000。 我现在折腾东西都往2000上靠  详情 回复 发表于 2026-1-13 22:41
回复

使用道具 举报

793#
发表于 2026-1-13 21:34:22 | 只看该作者

谢谢分享!
回复

使用道具 举报

794#
发表于 2026-1-13 22:41:24 | 只看该作者
wintoflash 发表于 2026-1-13 21:00
反馈这个没用的,根本没有人力修复这个。也很难搞出能稳定复现问题的简单的测试C/C++代码。
而且我发现 ...

自己弄,就搞更低一些,直接2000。  我现在折腾东西都往2000上靠
回复

使用道具 举报

795#
 楼主| 发表于 2026-1-14 12:12:10 | 只看该作者
2012jiashanni 发表于 2026-1-9 13:06
老铁 CPUz的驱动 cpuidx64.sys cpuid.sys 官方升级到1.0.6.2了

建议用HwIo驱动。见#692,会和CPU-Z冲突。
回复

使用道具 举报

796#
发表于 2026-1-14 12:44:48 | 只看该作者
测试好用,希望楼主长期更新!!!!
回复

使用道具 举报

797#
 楼主| 发表于 2026-1-16 09:58:09 | 只看该作者
本帖最后由 wintoflash 于 2026-1-16 11:00 编辑
红毛樱木 发表于 2026-1-11 15:33
牛逼牛逼,修复了说下。

试试,好像不崩溃了
PECMD.zip (2.59 MB, 下载次数: 0)

点评

厉害,啥方式修复的?  详情 回复 发表于 2026-1-16 14:42
回复

使用道具 举报

798#
发表于 2026-1-16 14:42:35 | 只看该作者
wintoflash 发表于 2026-1-16 09:58
试试,好像不崩溃了

厉害,啥方式修复的?

点评

编译参数加上/Zc:threadSafeInit-就行了。他妈的被折磨了好长时间。  详情 回复 发表于 2026-1-16 14:50
回复

使用道具 举报

799#
 楼主| 发表于 2026-1-16 14:50:41 | 只看该作者
红毛樱木 发表于 2026-1-16 15:42
厉害,啥方式修复的?

编译参数加上/Zc:threadSafeInit-好像就行了。他妈的被折磨了好长时间。你先试试。

点评

测试可以了。 看上子又进步了,又学会了一招。 dll文件体积貌似也变小了 666  详情 回复 发表于 2026-1-16 15:06
回复

使用道具 举报

800#
发表于 2026-1-16 15:06:44 | 只看该作者
wintoflash 发表于 2026-1-16 14:50
编译参数加上/Zc:threadSafeInit-好像就行了。他妈的被折磨了好长时间。你先试试。

  测试可以了。
看上子又进步了,又学会了一招。
dll文件体积貌似也变小了  666
回复

使用道具 举报

801#
发表于 2026-1-16 16:45:46 来自手机 | 只看该作者
多谢分享
回复

使用道具 举报

802#
发表于 2026-1-16 23:55:52 来自手机 | 只看该作者
多谢大佬
回复

使用道具 举报

803#
发表于 2026-1-17 22:13:27 | 只看该作者
CDI_FLAG_ENABLE_USB_MEMORY 对应的是 FlagUsbMemory

请教一下,这个标志具体检测是哪些东西?
今天碰到一个设备卡这个标志检测很久

点评

USB SAT (SCSI ATA TRANSLATION)  详情 回复 发表于 2026-1-17 23:01
回复

使用道具 举报

804#
 楼主| 发表于 2026-1-17 23:01:00 | 只看该作者
红毛樱木 发表于 2026-1-17 23:13
CDI_FLAG_ENABLE_USB_MEMORY 对应的是 FlagUsbMemory

请教一下,这个标志具体检测是哪些东西?

USB SAT (SCSI ATA TRANSLATION)

点评

if(1) { DebugPrint(_T("else (USB-HDD)")); } 这里执行了很多 DoIdentifyDeviceSat ,而每次 DoIdentifyDeviceSat 巨慢,几乎卡了几分钟。无语至极 ---------------- 一个USB无线网卡带了,自带了一  详情 回复 发表于 2026-1-17 23:31
回复

使用道具 举报

805#
发表于 2026-1-17 23:31:57 | 只看该作者
wintoflash 发表于 2026-1-17 23:01
USB SAT (SCSI ATA TRANSLATION)

if(1)
{
        DebugPrint(_T("else (USB-HDD)"));
}




这里执行了很多 DoIdentifyDeviceSat ,而每次 DoIdentifyDeviceSat 巨慢,几乎卡了几分钟。无语至极
----------------
一个USB无线网卡带了,自带了一个4MB的闪存空间,放驱动的。


回复

使用道具 举报

806#
发表于 2026-1-18 20:10:52 | 只看该作者
本帖最后由 红毛樱木 于 2026-1-18 20:16 编辑

CDI_FLAG_ENABLE_NVIDIA 和 CDI_FLAG_ENABLE_MARVELL 这两个参数是不是无效的?
Init
的时候先被   FlagNvidiaController = FALSE;
FlagMarvellController = FALSE;

点评

CrystalDiskInfo默认配置下UsbMemory是关闭的。 提前设置FlagNvidiaController和FlagMarvellController确实没用,是自动检测的。  详情 回复 发表于 2026-1-18 21:43
回复

使用道具 举报

807#
 楼主| 发表于 2026-1-18 21:43:06 | 只看该作者
红毛樱木 发表于 2026-1-18 21:10
CDI_FLAG_ENABLE_NVIDIA 和 CDI_FLAG_ENABLE_MARVELL 这两个参数是不是无效的?
Init
的时候先被   FlagN ...

CrystalDiskInfo默认配置下UsbMemory是关闭的。
提前设置FlagNvidiaController和FlagMarvellController确实没用,是自动检测的。

点评

嗯,暂时发现这两个无效,其他的没仔细研究。 CrystalDiskInfo的源码 DiskInfoDlg.cpp 中有更多的默认参数,感觉可以参考增减一些  详情 回复 发表于 2026-1-18 22:10
回复

使用道具 举报

808#
发表于 2026-1-18 22:10:44 | 只看该作者
wintoflash 发表于 2026-1-18 21:43
CrystalDiskInfo默认配置下UsbMemory是关闭的。
提前设置FlagNvidiaController和FlagMarvellController ...

嗯,暂时发现这两个无效,其他的没仔细研究。
CrystalDiskInfo的源码 DiskInfoDlg.cpp 中有更多的默认参数,感觉可以参考增减一些

点评

已经改了,并且参考CrystalDiskInfo的默认设置,修改了 CDI_FLAG_DEFAULT 默认状态。  详情 回复 发表于 2026-1-19 10:51
回复

使用道具 举报

809#
 楼主| 发表于 2026-1-19 10:51:43 | 只看该作者
红毛樱木 发表于 2026-1-18 23:10
嗯,暂时发现这两个无效,其他的没仔细研究。
CrystalDiskInfo的源码 DiskInfoDlg.cpp 中有更多的默认参 ...

已经改了,并且参考CrystalDiskInfo的默认设置,修改了 CDI_FLAG_DEFAULT 默认状态。
  1. #define CDI_FLAG_USE_WMI                (1ULL << 0)  // TRUE
  2. #define CDI_FLAG_ADVANCED_SEARCH        (1ULL << 1)  // FALSE
  3. #define CDI_FLAG_WORKAROUND_HD204UI     (1ULL << 2)  // FALSE
  4. #define CDI_FLAG_WORKAROUND_ADATA       (1ULL << 3)  // TRUE
  5. #define CDI_FLAG_HIDE_NO_SMART          (1ULL << 4)  // TRUE
  6. #define CDI_FLAG_SORT_DRIVE_LETTER      (1ULL << 5)  // FALSE
  7. #define CDI_FLAG_ATA_PASS_THROUGH       (1ULL << 7)  // TRUE
  8. #define CDI_FLAG_ENABLE_USB_SAT         (1ULL << 10) // TRUE
  9. #define CDI_FLAG_ENABLE_USB_SUNPLUS     (1ULL << 11) // TRUE
  10. #define CDI_FLAG_ENABLE_USB_IODATA      (1ULL << 12) // TRUE
  11. #define CDI_FLAG_ENABLE_USB_LOGITEC     (1ULL << 13) // TRUE
  12. #define CDI_FLAG_ENABLE_USB_PROLIFIC    (1ULL << 14) // TRUE
  13. #define CDI_FLAG_ENABLE_USB_JMICRON     (1ULL << 15) // TRUE
  14. #define CDI_FLAG_ENABLE_USB_CYPRESS     (1ULL << 16) // TRUE
  15. #define CDI_FLAG_ENABLE_USB_MEMORY      (1ULL << 17) // FALSE
  16. #define CDI_FLAG_ENABLE_NVME_JMICRON    (1ULL << 19) // TRUE
  17. #define CDI_FLAG_ENABLE_NVME_ASMEDIA    (1ULL << 20) // TRUE
  18. #define CDI_FLAG_ENABLE_NVME_REALTEK    (1ULL << 21) // TRUE
  19. #define CDI_FLAG_ENABLE_MEGA_RAID       (1ULL << 22) // TRUE
  20. #define CDI_FLAG_ENABLE_INTEL_VROC      (1ULL << 23) // TRUE
  21. #define CDI_FLAG_ENABLE_ASM1352R        (1ULL << 24) // FALSE
  22. #define CDI_FLAG_ENABLE_AMD_RC2         (1ULL << 25) // FALSE
  23. #define CDI_FLAG_ENABLE_REALTEK_9220DP  (1ULL << 26) // FALSE
  24. #define CDI_FLAG_HIDE_RAID_VOLUME       (1ULL << 27) // TRUE
  25. // CDI_FLAG[30:28]
  26. #define CDI_CSMI_SHIFT                  28
  27. #define CDI_FLAG_CSMI_DISABLE           (0ULL << CDI_CSMI_SHIFT) // FALSE
  28. #define CDI_FLAG_CSMI_AUTO              (1ULL << CDI_CSMI_SHIFT) // TRUE
  29. #define CDI_FLAG_CSMI_RAID              (2ULL << CDI_CSMI_SHIFT) // FALSE
复制代码

点评

SATA、NVME硬盘盒,这些USB转接的硬盘盒,哪里有统计过设备的硬件ID信息吗,全部类型买一套不太现实  详情 回复 发表于 2026-1-20 14:15
回复

使用道具 举报

810#
 楼主| 发表于 2026-1-19 14:59:25 | 只看该作者
pandaligx 发表于 2026-1-11 14:45
大佬,啥时候支持显卡的子品牌显示

https://nightly.link/a1ive/nwinf ... d/master/NWinfo.zip
已支持PCI Subvendor查询。
HWID: 'PCI\VEN_8086&DEV_4908&SUBSYS_D0101EF7&REV_01'
  1. Vendor ID: '8086'
  2. Device ID: '4908'
  3. Subvendor ID: '1EF7'
  4. Vendor: 'Intel'
  5. Device: 'DG1 [Iris Xe Graphics]'
  6. Subvendor: 'Shenzhen Gunnir Technology Development Co., Ltd'
复制代码

点评

感谢大佬  详情 回复 发表于 2026-1-19 18:28
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2026-2-28 22:39

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表