AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

WMI sofort EventLog bemerken

Ein Thema von Chasmo90 · begonnen am 13. Okt 2008 · letzter Beitrag vom 14. Okt 2008
Antwort Antwort
Chasmo90
(Gast)

n/a Beiträge
 
#1

WMI sofort EventLog bemerken

  Alt 13. Okt 2008, 21:37
Hallo erstmal!
Ich wollte mich mal ein wenig mit WMI beschäftigen und habe mir mal das kleine Tutorial angesehen (Hier zu finden) doch dort werden leider nur die bereits eingetragenen EventLogs angezeigt. Wollte gern mal wissen wie man das realisiert das mein Programm sofort auf eine Änderung der EventLogs reagiert?
könnte mir jemand erklären wie das funktioniert?
PS: Ein paar Links zum Thema WMI nehm ich immer gerne an
Danke im Voraus!
LG Chaismo
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#2

Re: WMI sofort EventLog bemerken

  Alt 13. Okt 2008, 22:13
Hier im Forum suchenWMIDemo
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Chasmo90
(Gast)

n/a Beiträge
 
#3

Re: WMI sofort EventLog bemerken

  Alt 14. Okt 2008, 13:06
Die Einträge hier im Forum hbae ich mir bereits angesehen aber nichts wirklch passendes zu meiner Frage gefunden
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#4

Re: WMI sofort EventLog bemerken

  Alt 14. Okt 2008, 13:14
Du überprüfst einfach mit SELECT count(*) FROM Win32_NTLogEvent WHERE LogFile="Application"; die Anzahl der Einträge. Ändert sich die Anzahl, dann aktualisiere Deine Ansicht.

Der API-Befehl MSDN-Library durchsuchenReportEvent wäre vielleicht auch noch was für Dich. Geht allerdings nicht über WMI.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#5

Re: WMI sofort EventLog bemerken

  Alt 14. Okt 2008, 13:34
Erstmal das hier: http://www.delphipraxis.net/internal...=744614#744614

So. Und dann kannst Du änderungen an WMI-Objekten auch mit WQL abfragen.
Das Prinzip ist (für C++) hier erklärt: http://msdn.microsoft.com/en-us/library/aa390425(VS.85).aspx

Im Prinzip ist das Folgendes:

SELECT * FROM __InstanceModificationEvent WITHIN 10 WHERE TargetInstance ISA 'Win32_NTLogEvent' AND TargetInstance.LogFile="Application"

Das ganze rufst Du asynchron auf (Mittels TWmiEventSink aus der WMI Scripting TLB). Dort bekommst Du dann immer die neuen Instanzen der WMI-Objekte pro änderungen in einem Event. Die 10 im Statement sind Sekunden, das heisst hier pollt der WMI-Dienst (nicht Deine Anwendung, das erzeugt also Last auf dem verbundenen Server!) alle 10 Sekunden. Viel drunter würde ich nicht gehen, WMI ist nicht gerade das Schnelleste was es gibt. Hinterher bitte nicht vergessen, das Query auch wieder zu beenden.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Chasmo90
(Gast)

n/a Beiträge
 
#6

Re: WMI sofort EventLog bemerken

  Alt 14. Okt 2008, 15:40
Vielen Dank fürs schnelle posting!
Hat wunderbar geklappt!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz