monitoren van processen in C#

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • williewonka03
  • Registratie: Augustus 2010
  • Laatst online: 16-06-2024
hallo allemaal,

ik ben bezig met een programma dat als een soort beheersysteem moet gaan werken. het moet detecteren waarneer er een proces wordt gestart en gestopt en dat tegen een white en blacklist checken.

Ik heb hier meerdere voorbeelden van op het internet gevonden. het probleem is echter dat als ik deze voorbeelden probeer, zelfs als ik het letterlijk overkopieer, wat ik liever niet doen want daar leer ik niks van, ik altijd tegen het probleem aanloop dat mijn visual c# 2010 express zegt ManagementEventWatcher niet te kennen.

een voorbeeld:

code:
1
2
3
4
5
6
7
8
9
10
11
12
ManagementEventWatcher startWatch = new ManagementEventWatcher(
                new WqlEventQuery("SELECT * FROM Win32_ProcessStartTrace"));
            startWatch.EventArrived += new EventArrivedEventHandler(startWatch_EventArrived);
            startWatch.Start();
            ManagementEventWatcher stopWatch = new ManagementEventWatcher(
              new WqlEventQuery("SELECT * FROM Win32_ProcessStopTrace"));
            stopWatch.EventArrived += new EventArrivedEventHandler(stopWatch_EventArrived);
            stopWatch.Start();
            Console.WriteLine("Press ENTER to exit");
            Console.ReadLine();
            startWatch.Stop();
            stopWatch.Stop();


dit is gewoon een letterlijk voorbeeld van wat ik heb gevonden. en wat ik ook probeer er komt altijd een rood lijntje onder de ManagementEventWatcher met de melding
code:
1
Error   1   The type or namespace name 'ManagementEventWatcher' could not be found (are you missing a using directive or an assembly reference?)


heeft iemand ideeën over hoe ik dit op kan lossen? het is me wel opgevallen dat de voorbeelden al vaak iets langer dan een jaar oud zijn. in de msdn staat het echter nog wel gewoon beschreven.

[ Voor 2% gewijzigd door williewonka03 op 13-04-2012 09:01 . Reden: linkje toegevoegd ]


Acties:
  • 0 Henk 'm!

  • D-Raven
  • Registratie: November 2001
  • Laatst online: 10-09 20:32
Heb je de system.management namespace en dll wel geinclude?

Acties:
  • 0 Henk 'm!

Verwijderd

Wat DeathRaven zegt inderdaad, even een reference aanmaken naar System.Management en dan moet je gewoon de klasse kunnen gebruiken.

Acties:
  • 0 Henk 'm!

  • SaphuA
  • Registratie: September 2005
  • Laatst online: 10-09 22:00
.

[ Voor 100% gewijzigd door SaphuA op 31-01-2022 15:28 ]


Acties:
  • 0 Henk 'm!

  • williewonka03
  • Registratie: Augustus 2010
  • Laatst online: 16-06-2024
ja sorry misschien had ik dat er bij moeten zetten, want dat heb ik geloof ik al gedaan. de msdn link had ik idd al gevonden. jullie bedoelen toch dat dit er boven moet?:
code:
1
using System.Management;

Acties:
  • 0 Henk 'm!

  • Amras
  • Registratie: Januari 2003
  • Laatst online: 16-09 20:15
williewonka03 schreef op vrijdag 13 april 2012 @ 14:50:
ja sorry misschien had ik dat er bij moeten zetten, want dat heb ik geloof ik al gedaan. de msdn link had ik idd al gevonden. jullie bedoelen toch dat dit er boven moet?:
code:
1
using System.Management;
Staat System.Management ook in je lijst met references? (onder je project in de Solution Explorer)

Acties:
  • 0 Henk 'm!

  • williewonka03
  • Registratie: Augustus 2010
  • Laatst online: 16-06-2024
Amras schreef op vrijdag 13 april 2012 @ 14:51:
[...]

Staat System.Management ook in je lijst met references? (onder je project in de Solution Explorer)
wow bedankt voor de snelle reactie, het antwoord is nee. wel raar, doet ie dat niet automatisch? dat deed ie bij al mijn andere projecten met dingen als system.io wel. hoe voeg je het handmatig toe aan die references, want dat heb ik nog nooit gedaan?

Acties:
  • 0 Henk 'm!

  • Amras
  • Registratie: Januari 2003
  • Laatst online: 16-09 20:15
williewonka03 schreef op vrijdag 13 april 2012 @ 14:52:
[...]

wow bedankt voor de snelle reactie, het antwoord is nee. wel raar, doet ie dat niet automatisch? dat deed ie bij al mijn andere projecten met dingen als system.io wel. hoe voeg je het handmatig toe aan die references, want dat heb ik nog nooit gedaan?
Rechtermuis op de References node en dan Add Reference kiezen. Normaliter zijn de veelgebruikte references al geinclude en moet je de meer exotische DLL's zelf includen. Logisch ook natuurlijk, want waarom zou je allerlei DLL's meenemen waar je toch niets uit gebruikt. :)

Acties:
  • 0 Henk 'm!

  • williewonka03
  • Registratie: Augustus 2010
  • Laatst online: 16-06-2024
Amras schreef op vrijdag 13 april 2012 @ 14:54:
[...]

Rechtermuis op de References node en dan Add Reference kiezen. Normaliter zijn de veelgebruikte references al geinclude en moet je de meer exotische DLL's zelf includen. Logisch ook natuurlijk, want waarom zou je allerlei DLL's meenemen waar je toch niets uit gebruikt. :)
natuurlijk, ik heb het net gevonden, alleen hij staat er niet bij, ik heb alle tabjes al afgezocht. dat dll verhaal is natuurlijk logisch, maar ik dacht dat daar juist dat using ding voor was. dat je het toevoegd met die commando. (dat commando? geen idee)

Acties:
  • 0 Henk 'm!

  • Amras
  • Registratie: Januari 2003
  • Laatst online: 16-09 20:15
Je kunt de DLL vinden in de .NET tab. Let op dat de entries niet gesorteerd zijn, dus je moet even goed zoeken of even op de kolom klikken om alsnog te sorteren.

Met een using statement importeer je een namespace, je kunt de classes etc. in die namespace gebruiken in die specifieke file. De daadwerkelijke implementatie van een class zit in een DLL. De classes etc. in een namespace hoeven niet per definitie in één DLL te staan, deze kunnen over meerdere DLL's verspreid zijn.

Je zult dus altijd moeten zorgen dat je de juiste DLL hebt geinclude en de juiste namespace hebt geimporteerd d.m.v. het using statement.

Acties:
  • 0 Henk 'm!

  • williewonka03
  • Registratie: Augustus 2010
  • Laatst online: 16-06-2024
Amras schreef op vrijdag 13 april 2012 @ 15:04:
Je kunt de DLL vinden in de .NET tab. Let op dat de entries niet gesorteerd zijn, dus je moet even goed zoeken of even op de kolom klikken om alsnog te sorteren.

Met een using statement importeer je een namespace, je kunt de classes etc. in die namespace gebruiken in die specifieke file. De daadwerkelijke implementatie van een class zit in een DLL. De classes etc. in een namespace hoeven niet per definitie in één DLL te staan, deze kunnen over meerdere DLL's verspreid zijn.

Je zult dus altijd moeten zorgen dat je de juiste DLL hebt geinclude en de juiste namespace hebt geimporteerd d.m.v. het using statement.
wow bedankt! stom van me, ik zag het niet meteen staan bij het .net tab en ging me vervolgens blind staren op de .com tab. ook hartelijk bedankt voor de uitleg! nu snap ik het een stuk beter, ik zal hier meer op gaan letten in de toekomst. hier kan nu een slotje op wat mij betreft.
Pagina: 1