C#WMI查询异常

时间:2018-12-15 05:36:12

标签: c# exception-handling textbox wmi

我的应用程序中有一个文本框,该文本框使用wmi查询和注册表读取显示一些系统信息。问题是某些系统由于操作系统损坏(处理器:不可用等)而无法显示某些信息,因此无法使用我的方法或从操作系统内部检索该信息。 所有这些导致我的应用崩溃。 我将如何避免崩溃并为无法检索的每一行显示一个文本。例如:不可用 我的文本框代码是:

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();
    }

谢谢。

1 个答案:

答案 0 :(得分:0)

使用try catach避免应用程序崩溃:

import React, {Component} from 'react';
import {
    BrowserRouter as Router,
    Route,
    Link

} from 'react-router-dom';
import App from '../App';

const CustomRoute = () => {

    <Router> 
               <Route path="/" component={App} />

       </Router> 
}

export default CustomRoute;