Вывод данных WMI в текстовое поле с несколькими строками ввода - PullRequest
0 голосов
/ 15 апреля 2011

Я пытаюсь использовать WMI для сбора системных данных, в этом случае я собираю все запускаемые программы и отображаю их в richtextbox. Когда я запускаю код, он работает, но проблема в том, что каждый раз он просто перезаписывает текущий текст в поле и в итоге отображает только последний элемент запуска вместо всех 20 элементов запуска. Вот мой код:

ManagementObjectSearcher searcher =
                new ManagementObjectSearcher("root\\CIMV2",
                "SELECT * FROM Win32_StartupCommand");

        foreach (ManagementObject queryObj in searcher.Get())
        {

            richTextBox1.Text = "Location: {0}" + queryObj["Location"];
            richTextBox2.Text = "Location: {0}" + queryObj["Command"];
            richTextBox3.Text = "Location: {0}" + queryObj["Description"];
        }

Например, пункты A B и C сообщаются автозагрузке. Когда я запускаю свою программу, в текстовом поле она будет показывать только C, потому что A и B ранее отображались, но каждый раз, когда она просто стирается и в конечном итоге отображает C, потому что она последняя.

1 Ответ

2 голосов
/ 15 апреля 2011

вы заменяете содержимое richTextBox вместо добавления новых строк

попробуйте это

richTextBox1.Text += string.Format("Location: {0} \n",queryObj["Location"]);
richTextBox2.Text += string.Format("Command: {0} \n",queryObj["Command"]);
richTextBox3.Text += string.Format("Description: {0} \n",queryObj["Description"]);

или

richTextBox1.AppendText(string.Format("Location: {0} \n",queryObj["Location"]));
richTextBox2.AppendText(string.Format("Command: {0} \n",queryObj["Command"]));
richTextBox3.AppendText(string.Format("Description: {0} \n",queryObj["Description"]));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...