Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi WMI einbinden? (https://www.delphipraxis.net/55427-wmi-einbinden.html)

Tyler 20. Okt 2005 18:09


WMI einbinden?
 
Salut!


Die Frage gabs zwar schonmal (einmal, um genau zu sein), aber darauf kam als Antwort nur der Verweis auf Google. Hab ich also gegoogelt. Nur dann trifft man auf einige Beiträge, die sich zwar mit der Verwendung von WMI beschäftigen, aber nirgends wird richtig erklärt, wie ich das erstmal einbinde.

Ich war erstmal soweit, die Unit "WbemScripting_TLB" in die USES-Liste aufzunehmen - die kennt mein Delphi aber nicht. Liegt also nahe, dass ich irgendetwas falsch mache :)


Wäre lieb, wenn jemand neben dem lapidaren Hinweis auf eine Suchmaschine auch einen Link parat hat der mir von Anfang an die Verwendung von WMI erklärt - denn die Suchmaschine hab ich schon durch (*);)



Ich danke euch!
Tyler


PS: Delphi2005 Personal :)


(*) Dito Boardsuche, hier und im Delphi-Forum ;)

SirThornberry 20. Okt 2005 18:17

Re: WMI einbinden?
 
die unit wird nicht standard dabei sein, daher hab ich mal bei google danach gesucht und folgendes gefunden:
http://www.swissdelphicenter.ch/torr...de.php?id=2135

ganz unten steht was auf der seite wie man zu der unit kommt.

Tyler 20. Okt 2005 18:42

Re: WMI einbinden?
 
Danke für deine Unterstützung :)

Leider gibt es bei D2k5 den Menüpunkt "Import Type Libary" nicht? Ich werd nochmal genau schauen, wenn nicht dürfte da ja die Hilfe weiter"helfen" ^^
Es fehlt also warscheinlich irgendwas ganz grundsätzliches?
Mir kommt es jetzt auch nicht explizit auf diese Unit an, das war nur ein Beispiel eines meiner Fehlversuche. Oder ist das die entscheidende Unit, die das Tor zu "WMI" öffnet?


tyler :)


//EDIT

wenigstens war ich nicht der einzige... Luckie stand tatsächlich auch schonmal vor einem ähnlichen Problem http://www.delphipraxis.net/internal...ct.php?p=77262 :)

SirThornberry 20. Okt 2005 18:47

Re: WMI einbinden?
 
Liste der Anhänge anzeigen (Anzahl: 1)
ich hab das ganze grad mal in D7 ausgeführt, die unit ist jetzt im Anhang

Alter Mann 20. Okt 2005 19:20

Re: WMI einbinden?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Tyler,

unter D2005 geht die Sache über "Projekt-> Refrenz hinzufügen", s.B..


Gruss

Tyler 20. Okt 2005 19:28

Re: WMI einbinden?
 
Die Pas hab ich mir erstmal runtergeladen, ich hoffe damit funktioniert dann alles :)

Alter Mann:

Ich kann beim besten Willen auch diesen Menüpunkt nich finden. Auch die OnlienHilfe meint, das ich über PROJEKT REFERENZ HINZUFÜGEN gehen soll - aber es gibt diesen Menüpunkt nicht. Liegt wohl an der Personal Version? :(


//EDIT

Jetzt hab ichs :)

Punkt Eins: Anstatt einer VCL-Anwendung eine .NET-Anwendung starten ... soviel dazu ^^

Punkt Zwei: Da gibts dann auch den Menüpunkt REFERENZ HINZUFÜGEN :)


Ich danke euch vielmals :)

Niko 20. Okt 2005 20:01

Re: WMI einbinden?
 
Hi,

das ganze geht normalerweise auch für Win32-Projekte über Komponente|Komponente importieren. In der Personal Version gibt's diesen Menüpunkt aber leider nicht.

Tyler 21. Okt 2005 06:01

Re: WMI einbinden?
 
achso, aber mit der freundlicherweise von SirThonberry zur Verfügung gestellen PAS müsste ich das ja dann auch unter Win32 nutzen können :)

Danke euch

Tyler 21. Okt 2005 15:59

Re: WMI einbinden?
 
das PRoblem war jetzt gelöst, aber mein eigentliches Problem: "Wie arbeite ich mit WMI?" besteht immer noch. Ich bin nun auf der HP von MS und will z.B. etwas am NetzwerkAdapter ändern / auslesen. Da gibt es die Klasse "Win32_NetworkAdapterConfiguration" mit all ihren Eigenschaften. Aber das kennt mein Compiler immer noch nicht. Was muss ich denn jetzt noch tun, um darauf zugreifen zu können?

Ich verstehe die Welt nicht mehr oO


tyler

//EDIT
gibt es nicht irgendwo eine Einführung für Anfänger, in der von _Anfang_ an beschrieben ist, wie ich WMI nutzen kann?

Tyler 10. Nov 2005 15:38

Re: WMI einbinden?
 
ich muss den Thread nochmal hochholen - Grund: Ich finde nichts. Rein garnichts. Nochmal zur Verdeutlichung: Wie verwende ich WMI in Delphi 2005? Googelt man nach Delphi und WMI gibts zahlreiche Links zu irgendwelchen Seminaren und in sämtlichen Boards wird eigentlich nur auf das MSDN verwiesen. Ich brauche aber keine Übersicht, was WMI alles kann, und welche Parameter WMI unterstütztz - ich will erstmal wissen wie ich das in Delphi umsetze?

Ganz einfach nach dem Motto:

OnButtonClick
if WMI_BEFEHL1(Param1) then Label1.Caption := WMI_BEFEHL2(Param2)

Also irgend eine _allgemeine_ Einführung. Ich will nicht, dass mir jemand Quellcode postet, der die IP-Konfiguration ausliest. Das will ich ja gerade selber ausprobieren, mir fehlt da aber einfach die Grundlage der WMI-Nutzung, oder eben ein simples Anwendungsbeispiel. :)


Danke euch vielmals, hoffe ihr versteht was ich meine :)


tyler

Phoenix 11. Nov 2005 09:50

Re: WMI einbinden?
 
Zitat:

Zitat von Tyler
Also irgend eine _allgemeine_ Einführung. Ich will nicht, dass mir jemand Quellcode postet, der die IP-Konfiguration ausliest. Das will ich ja gerade selber ausprobieren, mir fehlt da aber einfach die Grundlage der WMI-Nutzung, oder eben ein simples Anwendungsbeispiel. :)

Simpel ist bei WMI leider nichts.
Das Problem ist folgendes:

1.) WMI ist reines COM/DCOM
Du musst Dich also erstmal mit dem Konzept vertraut machen, wie Du in Delphi richtig mit COM-Objekten umgehst, denn COM-Objekte sind keine Delphi-Klassen.

2.) WMI ist Abstrakt
Die Windows Management Instrumentation ist eine Art hierarchische Datenbank innerhalb eines Services. Du kannst auf dieser Datenbank sogar mit SQL-ähnlichen Abfragen (WQL = WMI Query Language) arbeiten. Die Objekte die Du herausbekommst musst Du im Prinzip aber erst analysieren um überhaupt zu wissen was Du damit machen kannst.

Deshalb einmal folgende Links (das Typelibrary hast Du ja schon eingebunden):

Verbindung mit dem WMI-Dienst herstellen: http://www.delphipraxis.net/internal...=301992#301992
Hier hat Luckie ein Codebeispiel gefunden und ich habe die einzelnen Schritte darin kommentiert. Wenn Du das Schritt für Schritt auch anhand der WMI Scripting Reference aus dem MSDN nachvollziehst siehst Du schonmal, das WMI-Verwendung nicht ganz trivial, aber durchaus handlebar ist wenn man weiss wo man hingucken muss.

Objekte Auflisten: http://www.delphipraxis.net/internal...=206003#206003
Dieses Beispiel stammt von mir und meinem WMI-Browser. Auch hier mal durchwühlen und Dich mit der Navigation in der WMI vertraut machen.

Netzwerk: MAC Ermitteln: http://www.delphipraxis.net/internal...=166647#166647
Ein Code-Library Beitrag dazu. Das Auslesen der MAC aus einem Netzwerkadapter unterscheidet sich nicht wirklich von dem Auslesen der IP. Änderungen sind an diesem Objekt soweit ich das spontan weiss sogar auch möglich, das sollte dann aber entsprechend über WQL erfolgen und dann musst Du noch auf dem WMI-Objekt ein Update ausführen. Oder so ähnlich. Dass ich mich mit WMI auseinandergesetzt hab ich schon über ein Jahr her.

Aber ich denke mit den Starthilfen solltest Du das in den Griff bekommen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz