У меня есть текстовое поле в моем приложении, которое отображает некоторую системную информацию, используя запросы wmi и чтение реестра.Проблема в том, что некоторые системы не отображают некоторую информацию из-за повреждения в ОС (процессор: недоступен и т. Д.), Поэтому нет способа извлечь эту информацию, используя мои методы или изнутри ОС.Все это приводит к сбою моего приложения.Как бы мне избежать избежания сбоя и отображения текста вместо каждой строки, которую невозможно найти.EX: НЕ ДОСТУПНО. Код моего текстового поля:
private void TextBox1_Initialized(object sender, EventArgs e)
{
BackgroundWorker bw = new BackgroundWorker();
bw.WorkerReportsProgress = true;
bw.DoWork += new DoWorkEventHandler(delegate (object o, DoWorkEventArgs args)
{
});
bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(delegate (object o, RunWorkerCompletedEventArgs args)
{
TextBox1.Text = Registry.GetValue(@"HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0", "ProcessorNameString", null).ToString().Replace("(R)", "").Replace("(TM)", "") + Environment.NewLine;
TextBox1.Text += "Memory: " + getRAMsize() + Environment.NewLine;
TextBox1.Text += "Free Space: " + GetTotalFreeSpace(sysdrive) + " GB" + Environment.NewLine;
TextBox1.Text += diskname() + Environment.NewLine;
if (Is64BitSystem)
{
TextBox1.Text += getOS() + " 64bit" + Environment.NewLine;
}
else
{
TextBox1.Text += getOS() + " 32bit" + Environment.NewLine;
}
Clipboard.SetDataObject(TextBox1.Text);
});
bw.RunWorkerAsync();
}
Заранее спасибо.