![]() |
WMI Classes
Mit Hilfe dieser WMI Classes kann man ja recht viel über die Hardware rausbekommen. Siehe hier:
![]() |
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 |
Re: WMI Classes
Hallo Luckie,
ich habe da mal ein Beispiel geschrieben und ins Netz gestellt: ![]() 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. |
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"). |
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.
|
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?
|
Re: WMI Classes
Ist normalerweise in "System32\Wbem" drinnen... einfach über Project->Import Type Library importieren...
|
Re: WMI Classes
Ich habe da nur wbemads.tlb und wbemctl.tlb. Aber deine Exe läuft.
|
Re: WMI Classes
So, habe sie gefunden. Nur sagt mir Delphi jetzt, wen cih dein programm Compilieren will:
Zitat:
|
Re: WMI Classes
![]() Ansonsten ![]() |
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.
|
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... |
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.
|
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? |
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.
|
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:
Der Rest müsste gleich bleiben...
var
aLocator : ISWbemLocator; aServices : ISWbemServices; begin aLocator := CoSWbemLocator.Create; aServices := aLocator.ConnectServer('', 'root\cimv2', '', '', '', '', 0, nil); {..} end; |
Re: WMI Classes
Ja so geht es. Nur aLocator.Free mag er nicht. :gruebel:
|
Re: WMI Classes
Das kannst du ganz weglassen... Interface-Referenzzähler werden von Delphi intern verwaltet...
|
Re: WMI Classes
So, jetzt die Gretchen Frage: Gibt es das WMI auch unter 98 und ME? Würden dan die Exe's laufen?
|
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. |
Re: WMI Classes
Danke. Ich werde mich dann mal da einlesen. Hat jemand zufällig schon ein paar gute Links zur Hand?
|
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:
Bezüglich COM allgemein könnte ich dir das Buch von "COM/DCOM/COM+" von Andreas Kosch empfehlen..! |
Re: WMI Classes
Zitat:
|
Re: WMI Classes
|
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