AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Code-Bibliothek Neuen Beitrag zur Code-Library hinzufügen Delphi Hardware-Laufwerks-Modellname aus logischem Laufwerksbuchstaben extrahieren

Hardware-Laufwerks-Modellname aus logischem Laufwerksbuchstaben extrahieren

Ein Thema von PeterPanino · begonnen am 19. Apr 2011 · letzter Beitrag vom 19. Apr 2011
Antwort Antwort
PeterPanino

Registriert seit: 4. Sep 2004
1.442 Beiträge
 
Delphi 10.4 Sydney
 
#1

Hardware-Laufwerks-Modellname aus logischem Laufwerksbuchstaben extrahieren

  Alt 19. Apr 2011, 03:09
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.
Miniaturansicht angehängter Grafiken
pa_wmi_getdrivemodelname.gif  
Angehängte Dateien
Dateityp: zip PA_WMI_GetDriveModelName.zip (546,4 KB, 23x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.017 Beiträge
 
Delphi 12 Athens
 
#2

AW: Hardware-Laufwerks-Modellname aus logischem Laufwerksbuchstaben extrahieren

  Alt 19. Apr 2011, 11:30
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)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#3

AW: Hardware-Laufwerks-Modellname aus logischem Laufwerksbuchstaben extrahieren

  Alt 19. Apr 2011, 14:22
Vielleicht hilft ja der Thread von Luckie.

-- Edit: Hier gibts auch noch einen Code von dem Herrn
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 02:39 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