02. februar 2005 - 07:40Der er
10 kommentarer og 1 løsning
Hvordan finder man ud af drevbogstavet på en CD brænder
Jeg har brug for at finde ud af hvilket drevbogstav min brænder har. Jeg kan godt finde ud af at jeg har et CD-ROM drev med bogstavet x, men jeg har også brug for at checke om det er en brænder.
Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" _ (ByVal nDrive As String) As Long
Får du drev-typen, der for et CD-ROM er lig 5
Med API kaldet:
'If all the requested information is retrieved, the return value is nonzero Private Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" _ (ByVal lpRootPathName As String, _ ByVal lpVolumeNameBuffer As String, _ ByVal nVolumeNameSize As Long, _ lpVolumeSerialNumber As Long, _ lpMaximumComponentLength As Long, _ lpFileSystemFlags As Long, _ ByVal lpFileSystemNameBuffer As String, _ ByVal nFileSystemNameSize As Long) As Long
Når du har drev-type og File-system kan du finde ud af om det er en brænder ved at anvende:
Dim DrevType As Integer DrevType = GetDriveType(propDrive)
If DrevType = 5 Then If Not ((FileSystem = "CDFS") Or (FileSystem = "")) Then DrevType = drvCDRW End If End If DriveType = DrevType
Det er korrekt, hvis der ikke er en CD i drevet kan man ikke bestemme, hvad denne hardware kan. Jeg kan ikke se, at det er muligt fra Windows at udlæse specifik info omkring hvilke fysiske elementer en hard-ware enhed indeholder, f. eks om der er en laser til brænding. Under alle omstændigheder: Hvis du checker før der sættes en skive i drevet får programmet kun info om, hvorvidt drevet rent teoretisk kan gennemføre en brænding, ikke om det også i praksis kan lade sig gøre.
I denne sammenhæng er jeg også kun interesseret i at få at vide hvilket drev der kan brænde en CD. Om den så kan gennemføre det er en anden sag.
Hvis jeg skal fortælle lidt om baggrunden så er sagen den at jeg har lavet et Excel regneark til lønberegninger som genererer nogle datafiler som skal gemmes for at kunne lave årsopgørelser m.m. Nu er det så sket for en af dem der bruger det at hans computer er himlet og med den alle hans data :-( Jeg har så fundet frem til at hvis man har installeret Nero Burning ROM, så er der et lille parameterstyret program kaldet NeroCmd.exe som man kan bruge til at brænde en CD med. Men i den parameterfil der skal bruges skal der bl.a. stå hvilket drevbogstav CD brænderen har og derfor skal jeg på en eller anden måde have mulighed for at finde drevbogstavet for den første brænder på computeren så jeg kan skrive det ned i filen.
Det må da også kunne lade sig gøre at se uden cd - Nero kan!
I Nero kan man kun vælge de drev der er brændere - hvordan de gør det ved jeg ikke.
Men jeg kunne ikke forestille mig at de havde en komplet liste over alle cd/dvd brændere der nogensinde er lavet og tjekker den igennem - men hvem ved?
jeg vil da anbefale at programmet indeholder, at brugeren skal angive nogle konfigurations-data, som opbevares enten i registry eller i en ini-fil. Jeg anvender selv ini-filer i mine programmer, og har dem i hvert programs egen mappe.
Men iøvrigt vil en partitionering af disken og løbende backup til et andet drev end dér hvor data ellers ligger, give nogenlunde sikkerhed for at data kan bjærges, selv om C-partitionen skulle stå af.
For mig lyder det letsindigt at en virksomhed ikke har en backup-rutine.
Nu er det enkeltmands vognmandsfirmaer der bruger dette program og jeg ser rent faktisk ikke ret tit at der findes backupmuligheder i sådanne. (Det er ikke som her i biksen hvor vi har et dobbelt drev LTO library med 42 stk. 200 GB tapes der backupper >400 GB pr. døgn :-) ) Du har ret i at man kunne vælge at give brugeren mulighed for at angive hvilket drev der skal bruges, men igen er der rent faktisk mange af brugerne der ikke aner hvilket drevbogstav deres forskellige drev har, så jeg skal checke alligevel.
Jeg lukker dette spørgsmål da det åbenbart ikke er noget nogen har eksperimenteret med før. Jeg må se om jeg kan søge oplysningerne andet steds.
I mellemtiden har jeg løst problemet ved at læse en bestemt key i registry hvor Nero skriver hvilket drev nummer det er sat op til at bruge. Dette skal så bare konverteres til et drevbogstav og så er jeg klar til at brænde min CD.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.