AGB  ·  Datenschutz  ·  Impressum  







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

Auslesen der Mainboard Seriennummer

Ein Thema von kumar89 · begonnen am 10. Jun 2009 · letzter Beitrag vom 17. Jun 2009
Antwort Antwort
Seite 2 von 3     12 3      
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#11

Re: Auslesen der Mainboard Seriennummer

  Alt 10. Jun 2009, 10:44
Ja, aber da müsste er wohl im Forum dort eingeloggt sein. Wenn man zum ersten mal sowas macht ist das schon nicht so 100% offensichtlich, wie man vorgeht.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Auslesen der Mainboard Seriennummer

  Alt 10. Jun 2009, 10:47
Nein, angezeigt wird der Anhang trotzdem, dass er vorhanden ist, und was es ist hatte ich ja geschrieben. Das mit dem Einloggen ist aber ein Argument, ich hänge es mal hier auch an.
Angehängte Dateien
Dateityp: zip wbemscripting_tlb_880.zip (11,6 KB, 37x aufgerufen)
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
kumar89
(Gast)

n/a Beiträge
 
#13

Re: Auslesen der Mainboard Seriennummer

  Alt 10. Jun 2009, 10:49
Zitat von Satty67:
Da musst du die Typebibliothek "Micrososft WMI Scripting" importieren.

Delphi Menü -> Projekt -> Typebibliothek importieren

Danach hast Du in der Komponentenliste im Bereich ActiveX zusätzliche Komponenten. Glaube "SWbemLocator" reicht, das einfach auf's Formular ziehen.
Den Unterpunkt "Typebibliothek importieren" find ich nicht unter Projekt ....

Ich steh echt auf dem Schlauch gäbs keine andere Möglichkeit die Seriennummer auszulesen
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Auslesen der Mainboard Seriennummer

  Alt 10. Jun 2009, 10:50
Zitat von kumar89:
Den Unterpunkt "Typebibliothek importieren" find ich nicht unter Projekt ....
Das heißt in neueren Delphiversionen etwas anders (Komponente importieren... --> ActiveX) und in Turbo Delphi geht es gar nicht. Benutze einfach den Dateianhang.

// EDIT:
Ich weiß nicht, ob das in der Registry überhaupt erreichbar ist, hast du denn mal nach dem Wert gesucht?
Sinnvoller wäre sicher WMI, allerdings tragen viele Treiber die Seriennummer gar nicht erst ein oder die ist gar nicht gesetzt... Die Produktnummer ist oft nur zu sehen.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
kumar89
(Gast)

n/a Beiträge
 
#15

Re: Auslesen der Mainboard Seriennummer

  Alt 10. Jun 2009, 11:07
[quote="jaenicke"]
Zitat von kumar89:
Den Unterpunkt "Typebibliothek importieren" find ich nicht unter Projekt ....
Das heißt in neueren Delphiversionen etwas anders (Komponente importieren... --> ActiveX) und in Turbo Delphi geht es gar nicht. Benutze einfach den Dateianhang.

ok darunter sollte ich "SWbemLocator" mir runter ziehen blos wird bei mir die komponente nicht angezeigt under Active X oder ich hab des blos jetzt falsch verstanden
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: Auslesen der Mainboard Seriennummer

  Alt 10. Jun 2009, 11:08
Nimm doch einfach den Anhang... Ich habe die Unit doch extra auch hier gepostet, damit du dich nicht drüben im DF anmelden musst...
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#17

Re: Auslesen der Mainboard Seriennummer

  Alt 10. Jun 2009, 11:15
Zitat von kumar89:
ok darunter sollte ich "SWbemLocator" mir runter ziehen blos wird bei mir die komponente nicht angezeigt under Active X oder ich hab des blos jetzt falsch verstanden
Also für die aktuelle Aufgabe kannst Du jaenickes gepostete Bibliothek nehmen. Falls Du grundsätzlich das selber importieren willst (weil man die erfahrung immer brauchen kann), suche in der Liste dort "Microsoft WMI Scripting 1.x".

Wenn Du den Eintrag gefunden hast, dann entweder Unit erstellen (das ist dann die gleiche, wie die von jaenicke) oder Komponente installieren. Dann gibt es eine Komponente im ActiveX Tab/Bereich.

Hab' hier nur D5, wie es bei BDS2007 auussieht weis ich noch nicht auswendig und das ist Zuhause installiert.
  Mit Zitat antworten Zitat
kumar89
(Gast)

n/a Beiträge
 
#18

Re: Auslesen der Mainboard Seriennummer

  Alt 10. Jun 2009, 11:52
Zitat:
Also für die aktuelle Aufgabe kannst Du jaenickes gepostete Bibliothek nehmen. Falls Du grundsätzlich das selber importieren willst (weil man die erfahrung immer brauchen kann), suche in der Liste dort "Microsoft WMI Scripting 1.x".
ich find Microsoft Scripting in einem Formular aber nicht in einem VCL-Formular. Ich brauch des nämlich in einem VCL-Formular.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Auslesen der Mainboard Seriennummer

  Alt 10. Jun 2009, 11:56
Was hat das mit VCL-Formular oder nicht zu tun? Du benutzt die Unit und schreibst die in die uses und fertig.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
kumar89
(Gast)

n/a Beiträge
 
#20

Re: Auslesen der Mainboard Seriennummer

  Alt 15. Jun 2009, 15:10
ok ich bin weiter gekommen

http://msdn.microsoft.com/en-us/library/aa394072.aspx


was muss ich raus nehmen (siehe link) um die seriennummer des mainboards zu bekommen.


Delphi-Quellcode:
function QueryWMI(const QueryClass, QueryProperty: String; AStrings: TStrings): Boolean;
  var
    Locator: ISWbemLocator;
    Services: ISWbemServices;
    ObjectSet: ISWbemObjectSet;
    WMIObject: ISWbemObject;
    WMIProperty: ISWbemProperty;
    Enum: IEnumVariant;
    ObjValue: Cardinal;
    TempObj: OleVariant;
begin
  Result := FALSE;
  try
    Locator := CoSWbemLocator.Create;
    try
      Services := Locator.ConnectServer('', 'root\cimv2', '', '', '','', 0, NIL);
      if Assigned(Services) then begin
        Services.Security_.ImpersonationLevel := 3;
        ObjectSet := Services.ExecQuery('SELECT * FROM '+QueryClass,
                                        'WQL',
                                         wbemFlagForwardOnly or wbemFlagReturnWhenComplete,
                                         NIL);
        Enum := (ObjectSet._NewEnum) as IEnumVariant;
        while (Enum.Next(1, TempObj, ObjValue) = S_OK) do begin
          try
            WMIObject := IUnknown(TempObj) as ISWBemObject;
          except
            WMIObject := NIL;
          end;
          TempObj := Unassigned; // Interface in TempObj freigeben
          if Assigned(WMIObject) then begin
            WMIProperty := WMIObject.Properties_.Item(QueryProperty, 0);
            if (NOT VarIsNull(WMIProperty.Get_Value)) then
              AStrings.Add(Trim(WMIProperty.Get_Value));
          end;
        end;
        Result := TRUE;
      end;
    finally
      Services := NIL;
      Locator := NIL;
    end;
  except // Exceptions fangen (Wenn WMI nicht verfügbar/installiert ist, gibt´s eine!)
    Result := FALSE;
  end;
end;

procedure TfrmSystemInfo.Button1Click(Sender: TObject);
begin
     QueryWMI('Win32_VideoController','Caption',Systemauswertung.Lines);
end;

Mit freundlichen Grüßen


Kumar89
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 01:35 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