Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Neuen Beitrag zur Code-Library hinzufügen (https://www.delphipraxis.net/33-neuen-beitrag-zur-code-library-hinzufuegen/)
-   -   Delphi Hardware-Laufwerks-Modellname aus logischem Laufwerksbuchstaben extrahieren (https://www.delphipraxis.net/159923-hardware-laufwerks-modellname-aus-logischem-laufwerksbuchstaben-extrahieren.html)

PeterPanino 19. Apr 2011 02:09

Hardware-Laufwerks-Modellname aus logischem Laufwerksbuchstaben extrahieren
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo, ich habe lange nach einem Weg gesucht, um von einem Laufwerksbuchstaben (z.B. J:\) eines externen oder internen logischen Laufwerkes (z.B. Partition auf einer internen Festplatte oder USB-Stick) den Hardware-Modellnamen des physischen Laufwerkes zu erhalten, auf dem dieses logische Laufwerk liegt. Da ich bei meiner Suche auf viele andere Suchende gestoßen bin, die ebenso und lange umsonst eine solche Funktion suchten, habe ich mir eine kleine handliche Funktion für diesen Zweck geschrieben.

Magenta Systems bietet eine WMI-Library. Um den obigen Zweck zu erreichen, muss man zuerst mit der WMI-Klasse 'Win32_LogicalDiskToPartition' herausfinden, auf welchem physischen Laufwerk das gewünschte logische Laufwerk liegt, die Disknummer aus dem Wust extrahieren und dann mit der magwmi-Funktion MagWmiGetDiskModel (die ein Wrapper für eine andere WMI-Klasse ist) den Hardware-Modellnamen dieses physischen Laufwerks holen.

Die Hauptarbeit macht natürlich die magwmi-Library, aber ich habe alles in eine nette und handliche kleine Funktion verpackt, die man bei Bedarf leicht verwenden kann.

Im Anhang befindet sich sowohl der Source-Code als auch ein ausführbares Demo-Programm.

himitsu 19. Apr 2011 10:30

AW: Hardware-Laufwerks-Modellname aus logischem Laufwerksbuchstaben extrahieren
 
Ohne WMI:
Über IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS den zugehörigen Datenträger (Festplatte) auslesen
und dort über IOCTL_IDE_PASS_THROUGH (PassThrough.IDSector.ModelNumber) an diesen Namen rankommen.

(hab jetzt aber grad keinen eigenständigen Code dafür hier rumliegen)

s.h.a.r.k 19. Apr 2011 13:22

AW: Hardware-Laufwerks-Modellname aus logischem Laufwerksbuchstaben extrahieren
 
Vielleicht hilft ja der Thread von Luckie.

-- Edit: Hier gibts auch noch einen Code von dem Herrn :)


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