本帖最后由 20011010wo 于 2016-8-27 17:29 编辑
献上程序,解压后右键管理员运行install.cmd 可在开机时自动统计时间,不想用请右键管理员运行uninstall.cmd(对快速启动无效,快速启动不会重置记时时间戳)
BootTime.zip
源码:
BootTime.src.zip
原理讲解:
Windows 有一种神奇的API,叫做Native API
Native API 大部分几乎从不被人所知道,因为$软从没把他们文档化,即使文档化,也是垃圾信息——比如我下面将要说的
Zw/NtQuerySystemInformation是Native API 家族伟大的一员,几乎所有信息你都可以通过它知道
有一种神奇的信息类型叫SYSTEM_TIMEOFDAY_INFORMATION,里面记录了一个非常重要的、Windows下几乎唯一的获取开机时间的方式——BootTime 时间戳,精确到微秒
而$软在文档上写,“是哒,没错,SYSTEM_TIMEOFDAY_INFORMATION是一个用于重置种子的生成器,哎,别用难用的Native API,乖乖去用Kernel32啊,Gdi32啊里的API,乖,听话~”
去你X的![正经]
好吧,其实就是用这个API获取系统固件BIOS或UEFI的上电时间,用程序运行时的时间去减它,就可以得到数字了。
对了,感谢@[backcolor=rgb(243, 243, 243)][size=13px]Aqours[/size][/backcolor] 整理的Native API头文件定义
献上程序,解压后右键管理员运行install.cmd 可在开机时自动统计时间,不想用请右键管理员运行uninstall.cmd(对快速启动无效,快速启动不会重置记时时间戳)
BootTime.zip
源码:
BootTime.src.zip
原理讲解:
Windows 有一种神奇的API,叫做Native API
Native API 大部分几乎从不被人所知道,因为$软从没把他们文档化,即使文档化,也是垃圾信息——比如我下面将要说的
Zw/NtQuerySystemInformation是Native API 家族伟大的一员,几乎所有信息你都可以通过它知道
有一种神奇的信息类型叫SYSTEM_TIMEOFDAY_INFORMATION,里面记录了一个非常重要的、Windows下几乎唯一的获取开机时间的方式——BootTime 时间戳,精确到微秒
而$软在文档上写,“是哒,没错,SYSTEM_TIMEOFDAY_INFORMATION是一个用于重置种子的生成器,哎,别用难用的Native API,乖乖去用Kernel32啊,Gdi32啊里的API,乖,听话~”
去你X的![正经]
好吧,其实就是用这个API获取系统固件BIOS或UEFI的上电时间,用程序运行时的时间去减它,就可以得到数字了。
对了,感谢@[backcolor=rgb(243, 243, 243)][size=13px]Aqours[/size][/backcolor] 整理的Native API头文件定义