gpt4 book ai didi

c# - 如何删除 C# 中的 Windows 还原点?

转载 作者:可可西里 更新时间:2023-11-01 14:42:22 27 4
gpt4 key购买 nike

我正在寻找一种使用 C# 删除 Windows 还原点的方法,可能是通过调用 WMI。

任何代码片段都会非常有帮助。

最佳答案

关于 Morten 所说的,您可以使用该 API。据我所知,WMI 不提供删除还原点的方法。 SRRemoveRestorePoint 可以删除还原点,前提是您有序列号。您可以通过 WMI 获得它。这是我删除还原点的代码。

[DllImport("Srclient.dll")]
public static extern int SRRemoveRestorePoint(int index);

private void button1_Click(object sender, EventArgs e)
{
int SeqNum = 335;
int intReturn = SRRemoveRestorePoint(SeqNum);
}

我刚刚输入了 335,因为这是我在我的系统上能找到的最远的一个。计数可能从 1 开始并不断递增。所以它不像在数组中那样只拥有一个索引那么简单。

关于获取序列号,我把代码从Microsoft到 C#,它将为您提供该信息。请务必添加 System.Management 作为引用。否则此代码将无法正常工作。

    private void EnumRestorePoints()
{
System.Management.ManagementClass objClass = new System.Management.ManagementClass("\\\\.\\root\\default", "systemrestore", new System.Management.ObjectGetOptions());
System.Management.ManagementObjectCollection objCol = objClass.GetInstances();

StringBuilder Results = new StringBuilder();
foreach (System.Management.ManagementObject objItem in objCol)
{
Results.AppendLine((string)objItem["description"] + Convert.ToChar(9) + ((uint)objItem["sequencenumber"]).ToString());
}

MessageBox.Show(Results.ToString());
}

我在我的盒子(顺便说一下 Vista)上测试了它并且它没有问题。还必须以管理员身份运行,但我想你已经想到了这一点。

关于c# - 如何删除 C# 中的 Windows 还原点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/519404/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com