2012jiashanni 发表于 2025-10-13 15:26 PawnIO不支持Win7吧。不过Win7也没必要用PawnIO啊。 |
PawnIOx64.sys在windows 7 64位 6.1.7601.27769 下蓝屏
![]() |
wintoflash 发表于 2025-10-13 13:25 太棒了,我之前一直是 --PCI=03获取ID再--GPU获取驱动版本,现在只需--PCI=03就好了,谢谢大佬 |
本帖最后由 wintoflash 于 2025-10-13 13:26 编辑 2012jiashanni 发表于 2025-10-13 11:39 v1.5.0重写了GPU相关功能。 现在统一用 --pci=03 来获得PCI ID/驱动相关内容。https://github.com/a1ive/nwinfo/releases/tag/latest
用 --gpu 从 GPU驱动获得显卡传感器信息
目前暂时只支持 Intel/AMD/nVidia 显卡,功能还没做完,也没有充分测试。 |
wintoflash 发表于 2025-10-13 09:17 --GPU的获取信息内容能不能不改,我需要获取显卡ID、名称、驱动版本,谢谢 |
学习学习,感谢分享 |
2012jiashanni 发表于 2025-10-13 00:46 这个问题解释起来比较复杂。 微软为了防止未经允许的提权(防病毒)或者游戏为了防止外挂,会禁止用户态程序随意读写MSR寄存器或物理内存。 因此,WinRing0/HwRwDrv/老版本CPU-Z驱动/AsIO这一类的驱动,已经或者将来会被拉黑。 但是,实现各种硬件传感器检测(CPU/SPD等)逻辑是很复杂的,把它全部封装到驱动里面,直接由驱动返回传感器数据是很难实现的,也会导致更多漏洞。对非商业软件来说,每次增加新硬件支持都花钱找微软签名也是不可接受的。 PawnIO这个驱动内置了一个脚本语言解析器,可以解析你传入的脚本,执行任意硬件读写操作。 为了满足微软的要求,它提供了两个版本。一个是有微软签名的版本,它只能执行有PawnIO驱动开发者签名的脚本。一个是未签名版本,它需要你开测试模式才能使用,可以执行任意未签名脚本。 PawnIO驱动开发者@namazso就在github上,可以免费为你的脚本签名,但前提是通过他的审核。越长、越复杂的代码越有可能出现问题,因此要把对不同设备操作的逻辑放在不同的脚本里面,以便审核和将来拉黑。 IntelMSR.bin 是读取Intel CPU MSR用的,目前支持获取温度/电压/功耗/功耗墙/频率,不支持获取倍频。 AMDFamily0F.bin 是读取AMD K8温度/MSR用的,目前只实装了读取电压。 AMDFamily10.bin 是读取AMD K10温度/MSR用的,目前只实装了读取电压/频率。 AMDFamily17.bin 是读取AMD ZenSMN/MSR用的,目前支持温度/电压/频率/功耗。 RyzenSMU.bin 是读取AMD锐龙SMU用的,用于获取功耗墙/温度,支持的型号有限。 以上所述的"支持",指的是理论上支持。AMD每代都改设计,导致难以支持AMD的所有型号。 ====== 另外,PawnIO驱动为GPL协议,PawnIO官方提供的脚本为LGPL协议,如果直接集成到软件内部,会导致软件被传染为GPL协议,因此只能外置。如果你想商用且内置,需要向PawnIO开发者购买许可。 驱动源码:https://github.com/namazso/PawnIO 脚本源码:https://github.com/namazso/PawnIO.Modules |
神奇的软件 |
请问 【PawnIO驱动为安全版本,但是不支持获取部分数据】是不支持哪些数据,AMDFamily0F.bin 这几个文件的作用,谢谢 |
谢谢分享 |
开源的硬件信息工具 |
驚為天人的神作,看了讓人熱血沸騰,感謝分享。 |
多谢更新分享。。。 |
20251004更新 v1.4.4 GUI支持Ctrl+C复制鼠标指向的信息 支持更多Ryzen处理器的SMU 获取Windows Code Integrity信息 支持获取AMD Zen5 CPU倍频 添加PawnIO驱动支持(下载nwinfo_pawnio.zip) 说明: 本软件会按顺序尝试加载PawnIO, HwRwDrv和WinRing0驱动。 PawnIO驱动为安全版本,但是仅支持x86_64,不支持获取部分数据。 HwRwDrv驱动可能会被识别为病毒或被反作弊软件禁止。 WinRing0驱动处于微软黑名单中,会被识别为病毒,在Win11上不可用。 |
谢谢大佬 |
感谢分享 |
多谢更新分享。 |
20250904 更新 v1.4.3
|
666 |
wintoflash 发表于 2025-9-3 10:09 请问下 --smbios 获取CPU插槽信息,在微星 B760M BOMBER WIFI (MS-7D90) +13代 英特尔(R) 酷睿(TM) i5-13600KF上,获取的信息是 U3E1 这准确吗 |
2012jiashanni 发表于 2025-9-3 04:41 而命令行--CPU获取的温度则与GUI/aida64显示的温度相差较大 使用命令行程序获得瞬时信息(如CPU使用率,当前内存,温度,功耗等)都是不准确的,因为执行程序的瞬间,系统会做很多额外操作,导致CPU使用率会比通常更高。 GUI显示的处理器温度与aida64的接近,在运行GUI后,aida64显示处理器温度上升十几度 CPU 温度分为 CoreTemp(核心温度,每个核心不一样)和 PackageTemp (封装温度)。AIDA64 读的是 CoreTemp,且可能与 gnwinfo 不在同一个核上。gnwinfo 优先读取 PackageTemp,不支持的情况下再读 CoreTemp。 能否单独出一个命令行或api获取处理器 主板 显卡温度 同上,使用命令行是不能获得较准确数据的。 目前nwinfo只支持获取CPU温度,主板温度需要实现各种SuperIO/EC的支持,目前还在研究。DDR5 DIMM 温度需要实现各种SMBus驱动,这个以前写得不好,所以废弃了正在重写。至于显卡,我只知道AMD集显的获取方法,其他的不知道怎么获取。 如果你不排斥使用.NET的话,可以使用 https://github.com/LibreHardwareMonitor/LibreHardwareMonitor。它支持各种设备的温度传感器,也提供了dll。 nwinfo 中只提供 libnw 静态库,可以初始化后每秒调用NWL_GetCpuMsr获取CPU温度电压功耗,我不知道非C系程序能不能用。 |
本帖最后由 2012jiashanni 于 2025-9-3 04:44 编辑 1、在英特尔酷睿Ultra 9 285K+华硕Z890 Pro上,GUI显示的处理器温度与aida64的接近,在运行GUI后,aida64显示处理器温度上升十几度,而命令行--CPU获取的温度则与GUI/aida64显示的温度相差较大 2、能否单独出一个命令行或api获取处理器 主板 显卡温度 |
感谢分享! |
牛逼克拉斯。膜拜ing。。 |
wintoflash 发表于 2025-8-18 20:18 哦, 原来是这样啊 |
Bluebells 发表于 2025-8-18 20:03 我在XP上安装One Core API之后换用不同兼容性,测试 RtlGetVersion 都是正确的。 受影响的应该是 GetVersionEx / GetVersion / VerifyVersionInfo。 |
wintoflash 发表于 2025-8-18 19:55 OK! 据说这个函数获取得到的数据是最正确的, 而且它足够简单! 其它函数可能会受"兼容模式"影响而无法获取到当前系统的真正版本号 |
老大! RtlGetNtVersionNumbers 函数获取到的 NtBuildNumber 怎么转换成标准内部版本号(构建号)? |
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.