Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[C#]Connectie (klasse) probleem met WMI

Pagina: 1
Acties:
  • 40 views sinds 30-01-2008

  • _Rob
  • Registratie: Januari 2003
  • Laatst online: 12-10 10:22
Momenteel probeer ik systeeminformatie te verzamelen in C# met WMI. Ik probeer een SystemConnection klasse te maken die het mogelijk maakt om gemakkelijk een connectie te leggen met me eigen computer of een netwerk computer. De connectie wil ik vervolgens laten terug komen in andere klassen (zoals CPU).

Het probleem zit in de volgende regel:
C#:
1
ManagementClass ManClass = new ManagementClass(SysConn.ConnectionScope(), ManPath, null);

De connectie kan die in de ManClass niet maken omdat ik dit hoogstwaarschijnlijk verkeerd aanpak. Echter weet ik momenteel geen andere manier om dit aan te pakken en ik heb alleen maar voorbeelden gevonden met een eenvoudige connectie.

Volledige code:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
using System;
using System.Management;

class SystemInfo
    {
        class SystemConnection
        {
            private string user = String.Empty;
            private string pass = String.Empty;
            private string machineName = String.Empty;

            public string MachineName
            {
                get { return machineName; }
                set { machineName = value; }
            }

            public void ConnectionScope()
            {

                ManagementScope MScope = new ManagementScope();

                if (MachineName != Environment.MachineName)
                {
                    ConnectionOptions options = new ConnectionOptions();
                    options.Username = user;
                    options.Password = pass;

                    MScope = new ManagementScope(@"\" + Environment.MachineName + @"\cimv2", options);
                }
                else
                {
                    MScope = new ManagementScope(@"\root\cimv2");
                }

                try
                {
                    MScope.Connect();
                }
                catch (Exception ErrorEx)
                {
                    Console.WriteLine("An error has occured: " + ErrorEx);
                }
            }
        }

        class CPU
        {
            private string loadPercent = String.Empty;

            public string LoadPercent
            {
                get { return loadPercent; }
                set { loadPercent = value; }
            }

            private void Usage()
            {
                SystemConnection SysConn = new SystemConnection();

                ManagementPath ManPath = new ManagementPath("Win32_Processor");
                try
                {
                    ManagementClass ManClass = new ManagementClass(SysConn.ConnectionScope(), ManPath, null);
                    ManagementObjectCollection ManObjColl = ManClass.GetInstances();
                    foreach (ManagementObject ManObj in ManObjColl)
                    {
                        foreach (PropertyData PropData in ManObj.Properties)
                        {

                            if (PropData.Name == "LoadPercentage")
                                LoadPercent = PropData.Value.ToString();

                        }
                    }
                }
                catch (Exception ErrorEx)
                {
                    Console.WriteLine("An error has occured: " + ErrorEx);
                }

            }
        }


Heeft iemand een idee of een beter voorbeeld? Of is dit wellicht niet mogelijk?

Webdeveloping... -counts to 10- Sigh...


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:51

gorgi_19

Kruimeltjes zijn weer op :9

Wat is eigenlijk precies het probleem?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • _Rob
  • Registratie: Januari 2003
  • Laatst online: 12-10 10:22
De connectie werkt niet in een andere klasse O-)

Webdeveloping... -counts to 10- Sigh...


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 30-11 15:10

Creepy

Tactical Espionage Splatterer

En wat heb je zelf al geprobeerd om dat op te lossen? Wat lukte daar niet mee? Kreeg je foutmelding? etc. etc. Zie ook Programming Beleid en dan met name Programming Beleid - De Quickstart voor de informatie die we graag willen zien in een topicstart en de zaken die je zelf al gedaan zou moeten hebben voordat je een topic opent. Je code dumpen en zeggen "hij doet het niet" is niet de bedoeling en je loopt lang genoeg mee hier om dat ook te weten.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Dit topic is gesloten.