20011010wo 发表于 2016-8-27 15:21:01

测测你的开机时间

本帖最后由 20011010wo 于 2016-8-27 17:29 编辑

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



源码:


原理讲解:
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头文件定义

nkc3g4 发表于 2017-1-14 20:59:06

你咋就这么牛逼呢

20011010wo 发表于 2017-1-14 22:59:59

nkc3g4 发表于 2017-1-14 20:59
你咋就这么牛逼呢

挖坟

test 发表于 2017-1-14 23:13:14

居然登陆了 = =

Hashimoto 发表于 2017-1-15 19:08:44

这么好的帖子居然没人看

20011010wo 发表于 2017-1-15 22:49:37

Hashimoto 发表于 2017-1-15 19:08
这么好的帖子居然没人看

嘿嘿,都是下载不回复的

NoName_3031 发表于 2017-2-9 18:08:48

看看 不下载......

umifind 发表于 2017-3-8 22:53:51

几个月开关一次 帮顶了
页: [1] 2 3
查看完整版本: 测测你的开机时间