如何判断用户在打完windows补丁之后是否重启过?

2013-11-01 11:56:26 +08:00
 YUCOAT
我们都知道,Windows在打完补丁很多情况下都需要重启。现在我需要编写一段代码,判断用户在打完Windows补丁后是否重启过。

或者说,打完补丁之后,Windows到底改了哪些地方,让Windows Update能够在关机和开机更新补丁?
4750 次点击
所在节点    程序员
18 条回复
manoon
2013-11-01 13:09:34 +08:00
重启有个事件日志,类型好像昌65005
EricBox
2013-11-01 13:12:32 +08:00
YUCOAT
2013-11-01 13:22:21 +08:00
@EricBox 刚刚看了一下,注册表里面PendingFileRenameOperations记录着几个文件,但是这几个文件跟Windows Update没什么联系,这几个文件是都是我刚刚安装的几款软件所残留下来的文件。
YUCOAT
2013-11-01 13:22:35 +08:00
@manoon 什么意思?
EricBox
2013-11-01 13:31:21 +08:00
不知道我说的对不对。
打完补丁应该会有一些正在使用的文件无法更新,需要记录下来待到下次启动的时候替换完成,应该会记录在这里吧。
YUCOAT
2013-11-01 13:40:05 +08:00
@EricBox 我再试试。刚刚给我的虚拟机打了一些补丁,目前还没有重启,PendingFileRenameOperations里面没有关于补丁的文件。。。不知道是不是因为我打的补丁有点特殊。
yfdyh000
2013-11-01 13:42:12 +08:00
@YUCOAT 把前后的注册表导出,比较差异。
YUCOAT
2013-11-01 14:48:13 +08:00
@yfdyh000 这。。。。略暴力啊
YUCOAT
2013-11-01 14:48:23 +08:00
@yfdyh000 不过可以试试!
YUCOAT
2013-11-01 15:31:15 +08:00
@yfdyh000 还是算了,注册表太大了!
zzNucker
2013-11-01 15:35:18 +08:00
1L说过有个重启事件啊 在系统事件记录里
suriv520
2013-11-01 15:50:16 +08:00
嗯嗯,安装补丁和重启机器,都有系统事件记录的。事件记录包含详细的操作、编号和时间。
不过这可能得要求电脑的日志服务是打开的(默认)。
046569
2013-11-01 16:22:01 +08:00
1.找个需要重启的补丁,越小越好.
2.丢到安装监视软件里,包含注册表和文件的变更记录.
手边没环境,要不就帮你试下了.
vmebeh
2013-11-01 17:14:33 +08:00
@YUCOAT 有个注册表对比工具,生成快照再对比,好像是叫 RegSnapshot
YUCOAT
2013-11-01 19:10:26 +08:00
@vmebeh 注册表太大了,不好判断,我可以先试试。
qingting
2013-11-01 20:34:08 +08:00
可以获取开机时间啊。 使用WIN32 API GetTickCount() 就可以获取到开机到当前时刻的毫秒数,和当前时间计算一下就知道开机时间了。
两个开机时间对比一下,不就知道有没有重启了嘛
vileer
2013-11-01 20:37:59 +08:00
直接把自己写到注册表runonce
VYSE
2013-11-01 21:06:55 +08:00
逆向一下windows update service,需要重启的补丁会提示

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/87669

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX