搜索
查看: 13877|回复: 20

测测你的开机时间

  [复制链接]
发表于 2016-8-27 15:21:01 | 显示全部楼层 |阅读模式
本帖最后由 20011010wo 于 2016-8-27 17:29 编辑

献上程序,解压后右键管理员运行install.cmd 可在开机时自动统计时间,不想用请右键管理员运行uninstall.cmd(对快速启动无效,快速启动不会重置记时时间戳)

BootTime.zip (63.71 KB, 下载次数: 1382)

源码:
BootTime.src.zip (102.96 KB, 下载次数: 1178)

原理讲解:
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的上电时间,用程序运行时的时间去减它,就可以得到数字了。


对了,感谢@Aqours 整理的Native API头文件定义

回复

使用道具 举报

发表于 2017-1-14 20:59:06 | 显示全部楼层
你咋就这么牛逼呢
回复

使用道具 举报

 楼主| 发表于 2017-1-14 22:59:59 | 显示全部楼层
nkc3g4 发表于 2017-1-14 20:59
你咋就这么牛逼呢

挖坟
回复

使用道具 举报

发表于 2017-1-14 23:13:14 | 显示全部楼层
居然登陆了 = =
回复

使用道具 举报

发表于 2017-1-15 19:08:44 | 显示全部楼层
这么好的帖子居然没人看
回复

使用道具 举报

 楼主| 发表于 2017-1-15 22:49:37 | 显示全部楼层
Hashimoto 发表于 2017-1-15 19:08
这么好的帖子居然没人看

嘿嘿,都是下载不回复的
回复

使用道具 举报

发表于 2017-2-9 18:08:48 | 显示全部楼层
看看 不下载......
回复

使用道具 举报

发表于 2017-3-8 22:53:51 | 显示全部楼层
几个月开关一次 帮顶了
回复

使用道具 举报

联系我们(Contact)|手机版|萝卜头IT论坛 ( 苏ICP备15050961号-1 )

GMT+8, 2024-11-9 13:33 , Processed in 0.089478 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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