Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Как совместить WMI с моей программой? (http://forum.oszone.net/showthread.php?t=171446)

Virtyaluk 27-03-2010 20:23 1378671

Как совместить WMI с моей программой?
 
Здравствуйте,
помогите решить одну проблему
есть код:
Код:

using System;
using System.Management;
using System.Windows.Forms;

namespace WMISample
{
    public class MyWMIQuery
    {
        public static void Main()
        {
            try
            {
                ManagementObjectSearcher searcher =  new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_OperatingSystem");
                foreach (ManagementObject queryObj in searcher.Get())
                {
                    Console.WriteLine("OSArchitecture: {0}", queryObj["OSArchitecture"]);
                    Console.WriteLine("SystemDirectory: {0}", queryObj["SystemDirectory"]);
                }
            }
            catch (ManagementException e)
            {
                MessageBox.Show("An error occurred while querying for WMI data: " + e.Message);
            }
        }
    }
}

нужно его функциональную часть интегрировать в мою программу т.е. нужно совместить оба кода в один!
моя программа (просто форма на которой две label):
Код:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Management;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication4
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();           
        }
        private void Form1_Load(object sender, EventArgs e)
        {
        }
        private void label1_Click(object sender, EventArgs e)
        {
        }
        private void label2_Click(object sender, EventArgs e)
        {
        }
    }
}

в результате, после запуска готового приложения, на label1 и label2 должна появляться информация из переменных OSArchitecture и SystemDirectory

как совместить эти коды?
уже лепил как только можно - не выходит и все...
помогите с кодом.
Жду помощи.

Delirium 29-03-2010 04:26 1379514

Код:

using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Management;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication4
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();           
        }
        private void Form1_Load(object sender, EventArgs e)
        {
try
            {
                ManagementObjectSearcher searcher =  new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_OperatingSystem");
                foreach (ManagementObject queryObj in searcher.Get())
                {
label1.Text      +=queryObj["OSArchitecture"].ToString() + System.Environment.NewLine;
label2.Text      +=queryObj["SystemDirectory"].ToString() + System.Environment.NewLine;         
                }
            }
            catch (ManagementException e)
            {
                MessageBox.Show("An error occurred while querying for WMI data: " + e.Message);
            }
        }
        private void label1_Click(object sender, EventArgs e)
        {
        }
        private void label2_Click(object sender, EventArgs e)
        {
        }
    }

Вместо Label1 лучше использовать TextBox и в его свойствах поставить Multiline, чтобы текст лучше видно было.

Virtyaluk 29-03-2010 15:34 1379873

1 ошибка
"Не удалось найти имя типа или пространства имен "EventArgs" (пропущена директива using или ссылка на сборку?)"
если в место простого EventArgs ПИШУ System.EventArgs (в строке private void Form1_Load)
так предыдущая ошибка исчезает, но появляются новые:

"Не удалось найти имя типа или пространства имен "Form1" (пропущена директива using или ссылка на сборку?)"
"Не удалось найти имя типа или пространства имен "ManagementObjectSearcher" (пропущена директива using или ссылка на сборку?)"
"Не удалось найти имя типа или пространства имен "ManagementObject" (пропущена директива using или ссылка на сборку?)"
что и где не так??

Delirium 30-03-2010 01:11 1380319

Virtyaluk, пишу ОДИН раз в ответ на все ваши темы и вопросы по ICQ:
Купите/скачайте книгу по C#, или пройдите БЕСПЛАТНЫЕ курсы по данному языку программирования - INTUIT.ru и вам все станет понятно.
Цитата:

Цитата Virtyaluk
Не удалось найти имя типа или пространства имен "Form1" »

Не была добавлена форма в проект.
Цитата:

Цитата Virtyaluk
Не удалось найти имя типа или пространства имен "ManagementObjectSearcher" »

Не добавлена зависимость на данное пространство.


P.S. Вы не понимаете синтаксиса и структуры C#, а уже пытаетесь создавать какие то серьезные проекты. Мой вам совет - почитайте документацию, вопросов поубавится на порядок.


Время: 14:53.

Время: 14:53.
© OSzone.net 2001-