Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi WMI Classes (https://www.delphipraxis.net/9670-wmi-classes.html)

Luckie 1. Okt 2003 13:05


WMI Classes
 
Mit Hilfe dieser WMI Classes kann man ja recht viel über die Hardware rausbekommen. Siehe hier: http://msdn.microsoft.com/library/de...re_classes.asp . Weiß da jemand mehr drüber? Also wie man damit in Delphi umgeht? Gibt es da schon Header-Übersetzungen? Usw.

Compet 1. Okt 2003 14:33

Re: WMI Classes
 
Das würde mich auch interessieren. In einem anderen Forum war mal ein Thread über class Temperatursensor aber wie man damit umgeht wurde nicht beantwortet.
Vielleicht habe ich ja hier Glück.

Gruß
Compet

Daniel 1. Okt 2003 14:45

Re: WMI Classes
 
Hallo Luckie,

ich habe da mal ein Beispiel geschrieben und ins Netz gestellt:
http://users.andara.com/~dblondeau/downloads.htm.
Schaue auf dieser Seite mal nach dem 'Delphi-Sample'.


:roll: Na gut. Ist nicht von mir. Aber die Demo sieht ganz nach dem aus, was Du suchst.

Motzi 1. Okt 2003 15:00

Re: WMI Classes
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

das Beispiel hab ich auch schon gefunden und mich daran ortientiert... hab auch schon vor einiger Zeit angefangen mich mit WMI zu beschäftigen (für den X-Spy) da man damit auch an Infos rankommt für die man sonst native APIs bräuchte...

Das Beispiel verwendet die Scripting-APIs, ich bin momentan auf der Suche nach Möglichkeiten wie man die COM-APIs für WMI benutzen kann...

Eine kleines quick-and-dirty Programm für Infos über den Prozessor hab ich mal angehängt (Vorraussetzung zum kompilieren ist die importierte TypeLibrary "wbemdisp.tlb").

Luckie 1. Okt 2003 15:52

Re: WMI Classes
 
Daniel, ich glaube, das war genau, das, was ich gesucht habe. Man damit kann man ja eine riesige SysInfo bauen. Ich werde mich mal damit beschäftigen dem nächst.

Luckie 1. Okt 2003 15:58

Re: WMI Classes
 
Ich glaube, ich habe diese Type-Library Microsoft WMI Scripting v1.1 Library (Version 1.1) nicht installiert. Wo bekomme ich die her?

Motzi 1. Okt 2003 16:41

Re: WMI Classes
 
Ist normalerweise in "System32\Wbem" drinnen... einfach über Project->Import Type Library importieren...

Luckie 1. Okt 2003 18:17

Re: WMI Classes
 
Ich habe da nur wbemads.tlb und wbemctl.tlb. Aber deine Exe läuft.

Luckie 1. Okt 2003 19:43

Re: WMI Classes
 
So, habe sie gefunden. Nur sagt mir Delphi jetzt, wen cih dein programm Compilieren will:
Zitat:

Zitat von blöde Debugger
[Fehler] Main.pas(96): Undefinierter Bezeichner: 'TSWbemLocator'

Was fehlt denn da jetzt noch?

Daniel B 1. Okt 2003 20:02

Re: WMI Classes
 
http://www.delphipraxis.net/internal...ct.php?p=75378 <-- Über Google gefunden :lol:

Ansonsten http://www.nldelphi.com/cgi-bin/forum.exe/Thread/7596

Luckie 1. Okt 2003 20:08

Re: WMI Classes
 
Mit Hilfe des ersten Links habe ich es ja auch geschaft, die richtige TLB zu finden. Der zweite scheint leider nutzlos zu sein.

Motzi 2. Okt 2003 08:23

Re: WMI Classes
 
Also wenn du die TypeLibrary importiert hast, dann sollte Delphi eine Datei "WbemScripting_TLB.pas" erstellt haben, die brauchst du natürlich in der uses-Liste!

In dieser Datei sind nun die importierten Interfaces ect. plus die von Delphi automatisch erzeugten Klassen die von TOleServer abgeleitet sind. TSWbemLocator ist zB so eine Klasse...

Ich weiß nicht ob in diesem Punkt ein Unterschied zwischen der personal und der professional Version ist, aber ich glaube schon, das TOleServer bei der personal Version auch dabei ist, es sollte also kein Unterschied sein...

Luckie 2. Okt 2003 08:45

Re: WMI Classes
 
Ich habe die Typ-Bibliothek importiert, wie du es gesagt hast und dann dein Projekt geöffnet. Die MadExports habe ich noch entfernt und dann wollte ich es kompilieren. Und dabei trat dann obiger Fehler auf.

Motzi 2. Okt 2003 09:17

Re: WMI Classes
 
Häng mal die von deinem Delphi erzeugte WbemScripting_TLB.pas an... vielleicht besteht doch ein Unterschied zwischen prof und personal Version...

Kannst du das Demo dessen Link Daniel gepostet hat kompilieren?

Luckie 2. Okt 2003 09:22

Re: WMI Classes
 
Liste der Anhänge anzeigen (Anzahl: 1)
Habe ich noch nicht probiert. Aber hier mal die Datei... *such* *wühl* *festplatte umkrempel* *tadaaa* :P.

Motzi 2. Okt 2003 09:39

Re: WMI Classes
 
Ok.. anscheinend besteht also doch ein Unterschied zwischen personal und professional Version... Du musst also direkt mit den interfaces arbeiten:
Delphi-Quellcode:
var
  aLocator     : ISWbemLocator;
  aServices    : ISWbemServices;
begin
  aLocator := CoSWbemLocator.Create;
  aServices := aLocator.ConnectServer('', 'root\cimv2', '', '', '', '', 0, nil);
  {..}
end;
Der Rest müsste gleich bleiben...

Luckie 2. Okt 2003 15:54

Re: WMI Classes
 
Ja so geht es. Nur aLocator.Free mag er nicht. :gruebel:

Motzi 2. Okt 2003 16:01

Re: WMI Classes
 
Das kannst du ganz weglassen... Interface-Referenzzähler werden von Delphi intern verwaltet...

Luckie 2. Okt 2003 16:04

Re: WMI Classes
 
So, jetzt die Gretchen Frage: Gibt es das WMI auch unter 98 und ME? Würden dan die Exe's laufen?

Christian Seehase 2. Okt 2003 16:08

Re: WMI Classes
 
Moin Luckie,

in diesem Falle ist das PSDK "des Pudels Kern" (:mrgreen:)

Unter dem Indexeintrag "WMI [WMI]"

wird es als von 95 bis .NET Server 2003 lauffähig angegeben.
Ggf. müssen dann allerdings noch Redistributables mitgeliefert werden.

Luckie 2. Okt 2003 16:12

Re: WMI Classes
 
Danke. Ich werde mich dann mal da einlesen. Hat jemand zufällig schon ein paar gute Links zur Hand?

Motzi 2. Okt 2003 16:20

Re: WMI Classes
 
Naja, WMI wird eigentlich erst mit NT "wirklich" unterstützt..! Aber es steht eh bei jeder Klasse dabei ab welcher Version sie verfügbar ist. (zB mein ProcessInfo geht nur unter NT)
Zitat:

Hat jemand zufällig schon ein paar gute Links zur Hand?
Zu WMI? Gibt es kaum was... hab auch schon gesucht, im Endeffekt bist du hauptsächlich aufs PSDK/MSDN angewiesen..!
Bezüglich COM allgemein könnte ich dir das Buch von "COM/DCOM/COM+" von Andreas Kosch empfehlen..!

Luckie 2. Okt 2003 16:23

Re: WMI Classes
 
Zitat:

Zitat von Motzi
Naja, WMI wird eigentlich erst mit NT "wirklich" unterstützt..! Aber es steht eh bei jeder Klasse dabei ab welcher Version sie verfügbar ist. (zB mein ProcessInfo geht nur unter NT)
Zitat:

Hat jemand zufällig schon ein paar gute Links zur Hand?
Zu WMI? Gibt es kaum was... hab auch schon gesucht, im Endeffekt bist du hauptsächlich aufs PSDK/MSDN angewiesen..!

So weit war ich eben auch schon, dass ich nichts gescheites gefunden habe. :roll:

toms 2. Okt 2003 16:36

Re: WMI Classes
 
Vielleicht hilft das ein wenig:

WMI - how to use Windows Management Instrumentation in Delphi:

Link

Luckie 2. Okt 2003 16:42

Re: WMI Classes
 
Danke, werde ich mir mal ankucken.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:27 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