AGB  ·  Datenschutz  ·  Impressum  







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

Feststellen, ob CD oder DVD-Laufwerk

Ein Thema von hoika · begonnen am 16. Dez 2011 · letzter Beitrag vom 4. Jan 2012
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#11

AW: Feststellen, ob CD oder DVD-Laufwerk

  Alt 16. Dez 2011, 17:33
Naja, schön ist aber was anderes. Irgendwie muss es aber möglich sein, diese Info halbwegs zuverlässig zu erhalten, Brennprogramme kriegen das ja auch hin (vermutlich über den Treiber).
Klar.

DeviceIOControl und SCSI_PASSTHROUGH_INTERFACE ist hier das Zauberwort, wobei letzteres vielleicht gar nicht gebraucht wird.

Schlachte doch mal diese Bibliothek aus, vielleicht hilfts.
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
ASM

Registriert seit: 16. Aug 2004
165 Beiträge
 
Delphi 7 Enterprise
 
#12

AW: Feststellen, ob CD oder DVD-Laufwerk

  Alt 17. Dez 2011, 23:16
Wie bekomme ich also raus, ob es ein CD oder DVD-Laufwerk ist ?
Dies und weit mehr geht hervorragend mit der TIsoLib, die komplett im Quellcode vorliegt.
Letzte Version ist v0.03a und stammt zwar schon aus 2004, funktioniert aber unter WinXP und zumindestens mit D7 bei mir problemlos (siehe beigefügte, von mir erweiterte Exe-Demo, getestet auf 4 verschiedenen Rechnern).

Allerdings bestehen systembedingt folgende zwei Voraussetzungen, um diese CD/DVD-Drive Infos tief aus dem System heraus auslesen zu können:
(1) man muss mit Administratorrechten eingeloggt sein
(2) es muss eine Disk (CD oder DVD im Laufwerk liegen)
Angehängte Dateien
Dateityp: zip CD-DVD Info.zip (171,1 KB, 20x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#13

AW: Feststellen, ob CD oder DVD-Laufwerk

  Alt 18. Dez 2011, 06:17
Ich hätte jetzt noch die SetupAPI vorgeschlagen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#14

AW: Feststellen, ob CD oder DVD-Laufwerk

  Alt 18. Dez 2011, 10:18
(1) man muss mit Administratorrechten eingeloggt sein
Kann man sowas nicht über die Rechteverwaltung steuern? Ich meine, da war was...
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
ASM

Registriert seit: 16. Aug 2004
165 Beiträge
 
Delphi 7 Enterprise
 
#15

AW: Feststellen, ob CD oder DVD-Laufwerk

  Alt 18. Dez 2011, 22:11
Ich hätte jetzt noch die SetupAPI vorgeschlagen.
Mit der SetAPI, jedenfalls der zu Jedi gehörigen, lassen sich - soweit ich erkennen kann - nur die im System installierten Treiber anzeigen. Und zwar dabei kollektiv subsummiert als "DVD/CD-ROM Laufwerke".
Eine Differenzierung, welches Laufwerk nun ein CDROM ist und welches ein DVD-Lw,, scheint aber damit nicht zu gehen. Ebenso nicht wie weitergehende Abfragen, ob es sich dabei um ein CD bzw. DVD-Lw mit nur READ- oder um eines mit READ/WRITE-Option (also um einen Brenner) handelt, usw. Die von mir genannte TIsoLib kann das aber alles.

Jetzt habe ich die TIsoLib ergänzend auch einmal in Delphi XE eingesetzt (bisher hatte ich sie immer nur in D7 verwendet): nach nur geringfügigen Korrekturen im Quelltext der Library funktioniert diese ebenso im XE einwandfrei (unter WinXP getestet) und mit dem exakt gleichen Ergebnis wie zuvor bei ihrer Verwendung in D7. Zwingend notwendig zum Einsatz mit XE sind nur einige Korrekturen in der Library hinsichtlich der Deklaration von String (AnsiString vs. Widestring) und PChar (PAnsiChar vs. PWideChar).
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#16

AW: Feststellen, ob CD oder DVD-Laufwerk

  Alt 21. Dez 2011, 22:42
Sieht wohl so aus:
Zitat:
Wie bekomme ich also raus, ob es ein CD oder DVD-Laufwerk ist ?
Hmm... warum zitierst Du ausgerechnet das? Das war der Grund, warum ich überhaupt auf die Frage kam, weil da nicht klar hervorgeht, ob es ein exlusives "oder" ist.

Wenn ich mir jetzt aber alles durchlese - im Kontext betrachtet dürftest Du recht haben
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#17

AW: Feststellen, ob CD oder DVD-Laufwerk

  Alt 22. Dez 2011, 01:56
Size in
Win32_CDROMDrive class
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

MaxMediaSize in
CIM_CDROMDrive class
http://msdn.microsoft.com/en-us/libr...=VS.85%29.aspx

Ausgabe:

__GENUS : 2
__CLASS : Win32_CDROMDrive
__SUPERCLASS : CIM_CDROMDrive
__DYNASTY : CIM_ManagedSystemElement
__RELPATH : Win32_CDROMDrive.DeviceID="IDE\\CDROMSLIMTYPE_BD_
_E__DS4E1S__________________EA17____\\4&6F0BE0C&0& 0.2.0"
__PROPERTY_COUNT : 49
__DERIVATION : {CIM_CDROMDrive, CIM_MediaAccessDevice, CIM_LogicalDevice, CIM_LogicalElement...}
__SERVER : QUAD
__NAMESPACE : root\CIMV2
__PATH : \\QUAD\root\CIMV2:Win32_CDROMDrive.DeviceID="IDE\
\CDROMSLIMTYPE_BD__E__DS4E1S__________________EA17 ____\\4&6F0BE0C&0&0.2.0"
Availability : 3
Capabilities : {3, 4, 7}
CapabilityDescriptions : {Random Access, Supports writing, Supports Removable Media}
Caption : Slimtype BD E DS4E1S
CompressionMethod : Unknown
ConfigManagerErrorCode : 0
ConfigManagerUserConfig : False
CreationClassName : Win32_CDROMDrive
DefaultBlockSize :
Description : CD-ROM-Laufwerk
DeviceID : IDE\CDROMSLIMTYPE_BD__E__DS4E1S__________________E A17____\4&6F0BE0C&0&0.2.0
Drive : D:
DriveIntegrity :
ErrorCleared :
ErrorDescription :
ErrorMethodology :
FileSystemFlags :
FileSystemFlagsEx :
Id : D:
InstallDate :
LastErrorCode :
Manufacturer : (Standard-CD-ROM-Laufwerke)
MaxBlockSize :
MaximumComponentLength :
MaxMediaSize :
MediaLoaded : False
MediaType : DVD Writer
MfrAssignedRevisionLevel : EA17
MinBlockSize :
Name : Slimtype BD E DS4E1S
NeedsCleaning :
NumberOfMediaSupported :
PNPDeviceID : IDE\CDROMSLIMTYPE_BD__E__DS4E1S__________________E A17____\4&6F0BE0C&0&0.2.0
PowerManagementCapabilities :
PowerManagementSupported :
RevisionLevel :
SCSIBus : 0
SCSILogicalUnit : 0
SCSIPort : 0
SCSITargetId : 2
SerialNumber : 09270000xxxx
Size :
Status : OK
StatusInfo :
SystemCreationClassName : Win32_ComputerSystem
SystemName : QUAD
TransferRate : -1
VolumeName :
VolumeSerialNumber :

PS C:\Program Files (x86)\MrEdSoftware\PowerShellScriptOMatic v.1.0>

http://www.it-visions.de/Scripting/W...n32_CDROMDrive

Geändert von hathor (22. Dez 2011 um 04:22 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.335 Beiträge
 
Delphi XE5 Professional
 
#18

AW: Feststellen, ob CD oder DVD-Laufwerk

  Alt 4. Jan 2012, 15:57
Allerdings bestehen systembedingt folgende zwei Voraussetzungen, um diese CD/DVD-Drive Infos tief aus dem System heraus auslesen zu können:
(1) man muss mit Administratorrechten eingeloggt sein
(2) es muss eine Disk (CD oder DVD im Laufwerk liegen)
Aber nur für Dein Tool.

Es sind lediglich Brennrechte erforderlich und die Capabilities (Operation Code $5A, PageCode $2A) kann man auch ohne eingelegtes Medium auslesen.
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 13:43 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