Laufwerksbuchstabe finden
-
Hallo
ich möchte herausfinden welches das CD-Laufwerk auf dem PC ist. (D ode E oder ähnlich). Mit welcher Funktion oder wie stelle ich das am einfachsten an und wie kann ich dann das Ergebnis weiterverwenden um z.B. ein Programm mit CreateProcess zu starten?
dixi
-
GetDriveType
Aber was ist, wenn es mehrere gibt?
-
Also, ich habe das mit einer DriveComboBox gelöst.
Ist bestimmt nicht die beste Lösung aber na ja
:
String Drive; for (int i = 0;i < DriveComboBox1->Items->Count;i++) { Drive = DriveComboBox1->Items->Strings[i].SubString(1,2)+ "\\"; if (GetDriveType(Drive.c_str()) == 3) // für jede Art von Laufwerk gibt es eine Nummer -> 3 steht für Harddisk -> einfach in der Hilfe nach GetDriveTyp schauen { ShowMessage("Laufwerk " + Drive + ": ist eine Festplatte."); } }
Tim
-
Mit den Funktionen GetLogicalDriveStrings() und GetDriveType() bekommst du heraus, welche deiner Laufwerke CD-ROM-Laufwerke sind.
-
Hallo Leute,
Dank für die Tips, aber das bringt mich alles nicht dahin, wo ich hinwill.
Ich denke ich muß den LW-Buchstaben für das aktuelle CD-Laufwerk finden.
Es soll nämlich folgendes funktionieren: Es soll eine CD erstellt werden, wo eine Installation über autorun gestartet wird, in dieser Installation will ich mit meinem Programm ein Drittprogramm starten, welches sich z.B. unter ...:\folder1\folder2\programm.exe befindet. Da die Laufwerke auf verschiedenen PC's verschiedene Buchstaben haben, muß ich nun diesen erkennen und dann statt der Pünktchen einsetzen in der Prodecure "CreateProcedure".
Vielleicht ist ja die Lösung in Euren Tipps versteckt, aber ich sehe sie nicht.
Für einen Hinweis bin ich sehr dankbar.dixi
-
na dann machst du folgendes:
String Laufwerksbuchstabe = Application->ExeName.SubString(1,1);
Tim
-
sprich: du brauchst den Pfad zu der Anwendung, die auf der selber CD liegt, wie die autorun?
Dann kannst du mit GetModuleFileName den Pfad der Autorun ermitteln und dann dir daraus den entsprechendne Pfad zusammensetzen
-
Danke der letzte Tipp hat es gebracht.
dixi
-
@MASTER-Tim: Wir befinden uns hier im WinAPI-Forum, und nicht bei der VCL!