如何使用 WinAPI(而不是 WMI)枚举系统还原点?

发布于 2024-08-23 03:19:55 字数 38 浏览 4 评论 0原文

必须适用于 WinXp - Vista - Windows 7

Must work for WinXp - Vista - Windows 7

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓝戈者 2024-08-30 03:19:55

简单浏览一下可用文档 如果您想列出现有的还原点,似乎没有办法绕过WMI。

Windows API 只为您提供设置和删除还原点的功能:

MSDN 还提供示例如何使用这些方法。

要列出现有还原点,您可以使用 此处(请注意,代码需要在 Vista 及更高版本上提升):

Set RPSet = GetObject("winmgmts:root/default").InstancesOf ("SystemRestore")
for each RP in RPSet
    wscript.Echo "Dir: RP" & RP.SequenceNumber & ", Name: " & RP.Description & ", Type: ", RP.RestorePointType & ", Time: " & RP.CreationTime
next

After having a short look at the available documentation it seems that there is no way around WMI if you want to list existing restore points.

The Windows API only offers you functions for setting and removing restore points:

MSDN also has samples how to use these methods.

For listing the existing restore points you can use the VBScript sample code from here (Note that the code needs elevation on Vista and above):

Set RPSet = GetObject("winmgmts:root/default").InstancesOf ("SystemRestore")
for each RP in RPSet
    wscript.Echo "Dir: RP" & RP.SequenceNumber & ", Name: " & RP.Description & ", Type: ", RP.RestorePointType & ", Time: " & RP.CreationTime
next
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文