![]() |
Windows Produkt Key ermitteln
Moin,
ich bin dabei für unsere Inventarisierung (nein, wir haben keine Volumelizenz, sondern immer eine beim PC-Kauf dabei gehabt) alle Keys von unseren Rechnern (inzwischen 250 Workstations und etliche Server) zu ermitteln. Bei den XP 32Bit-Versionen reicht die Unit: Unit MSProdKey v2.2 (Swiss Delphi Center). Diese funktioniert jedoch nicht mit Vista und auch nicht mit Server 2003 (nicht einmal 32 Bit) Wer hat da eine Idee oder einen Vorschlag? Für die, die jetzt wieder das Meckern anfangen: NEIN, das ist nicht illegal, weil ich nichts anderes wissen will, wie die Keys unserer eigenen Lizenzen. Irgendein Depp hat nämlich auch Keys doppelt benutzt etc. # # Ich habe auch nicht vor, div. dubiose Tools aus dem Internet zu nutzen ... Da mache ich das lieber selbst, da ich von unseren Rechnern auch noch andere Infos filtern möchte. Gruss EL |
Re: Windows Produkt Key ermitteln
Ich bin mir nicht sicher, aber mit der WMI kannst du verdammt viel rausfinden. Vlt. auch den Key.
|
Re: Windows Produkt Key ermitteln
Also bei mir (Vista) steht der ProductKey in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductID.
|
Re: Windows Produkt Key ermitteln
Zitat:
leider - wäre zu einfach könnte das irgendwo in der DigitalProductId verschlüsselt sein? Gruss EL |
Re: Windows Produkt Key ermitteln
|
Re: Windows Produkt Key ermitteln
Zitat:
da war ich auch schon dran. Jetzt stellt sich die Frage, wie ich die Produkt-ID übergebe. Ich hab da wohl ein Problem mit Delphi selbst :oops:
Delphi-Quellcode:
Binary Size liefert mir an der Stelle -1 .... und das ist der Knackpunkt.
PID := (Reg.ReadString('ProductID'));
binarySize := Reg.GetDataSize('DigitalProductId'); SetLength(HexBuf, binarySize); Dieser Registryeintrag ist da und wird auch gefunden ... aber die Länge wird mit -1 angegeben ... Gruss EL |
Re: Windows Produkt Key ermitteln
Hallo EL,
mein Programm ![]() |
Re: Windows Produkt Key ermitteln
Liste der Anhänge anzeigen (Anzahl: 1)
Ich verwende folgendes:
|
Re: Windows Produkt Key ermitteln
Hallo RSF,
kleine Anmerkung am Rande, unter Windows 64Bit funktioniert Dein Sourcedode nicht. Aber ansonsten prinzipell ist der Sourcecode richtig. |
Re: Windows Produkt Key ermitteln
Tja, was soll ich sagen: Bei mir liefert D7 unter XP GetDataSize korrekt.
Delphi-Quellcode:
Bei Vista kann und mag ich nicht mitreden.
const
KEY = 'Software\Microsoft\Windows NT\CurrentVersion'; VALUE = 'DigitalProductId'; var buf: array of Byte; begin with TRegistry.Create(KEY_READ) do try RootKey := HKEY_LOCAL_MACHINE; if OpenKey(KEY, False) then begin SetLength(buf, GetDataSize(VALUE)); if ReadBinaryData(VALUE, buf[0], Length(buf)) = Length(buf) then Caption := DecodeProductKey(buf) else Caption := 'rats'; CloseKey; end; finally Free; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:58 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