我對c#相當陌生。我想實現刪除多個註冊表項一個接一個,但我是第一個關鍵和代碼停止刪除其他keys.I下面試圖提到代碼它適用於單一鍵,如果塊之後變得異常是否有可能一個接一個地刪除多個註冊表項?
string[] keyArray = { @"Wow6432Node\CLSID",
@"Software\Microsoft\Windows\CurrentVersion\Ext\Settings",
@"Software\Microsoft\Windows\CurrentVersion\Ext\Stats",
@"SOFTWARE\Classes\Wow6432Node\CLSID",
@"SOFTWARE\Wow6432Node\Classes\CLSID",
@"Wow6432Node\Microsoft\Code Store Database\Distribution Units",
@"Wow6432Node\Microsoft\Internet Explorer\ActiveX Compatibility",
@"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\ModuleUsage"
};
foreach (var key in keyArray)
{
try
{
RegistryKey myKey = Registry.ClassesRoot.OpenSubKey(key, true);
if (myKey != null)
{
/*Cisco Secure Desktop*/
myKey.DeleteSubKeyTree("{705EC6D4-B138-4079-A307-EF13E4889A82}");
myKey.DeleteSubKeyTree("{F8FC1530-0608-11DF-2008-0800200C9A66}");
myKey.DeleteSubKeyTree("{E34F52FE-7769-46CE-8F8B-5E8ABAD2E9FC}");
/*Cisco Hostscan*/
myKey.DeleteSubKeyTree("{F8FC1530-0608-11DF-2008-0800200C9A66}");
myKey.DeleteSubKeyTree("{E34F52FE-7769-46CE-8F8B-5E8ABAD2E9FC}");
/*Cisco AnyConnect Secure Mobility Client*/
myKey.DeleteSubKeyTree("{55963676-2F5E-4BAF-AC28-CF26AA587566}");
myKey.DeleteSubKeyTree("{CC679CB8-DC4B-458B-B817-D447B3B6AC31}");
}
else
Console.WriteLine(string.Format("could not open key: {0}", key));
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(
string.Format("action {0} failed with\n{1}", key, ex.Message));
}
}
for循環可以做一些很好的代碼...... – Trillian 2013-02-10 16:25:25
「但我正在逐漸例外的第一碼」難道你不認爲這將是興利對我們來說是否是例外? – 2013-02-10 16:34:56
System.ArgumentException:無法刪除子鍵樹,因爲子鍵不存在 。 – Madhava 2013-02-10 17:15:01