Programmieren - alles kontrollieren 4.938 Themen, 20.667 Beiträge

Laufwerkcheck C/C++ (für DOS)

Mdl / 7 Antworten / Flachansicht Nickles

Habe ein Tool geschrieben, das sogar noch direkt unter MSDOS läuft, also nicht nur in einer DOS-Box (Borland C++ 5) und hänge da mit einer Prozedur etwas fest:

Die soll im Wesentlichen prüfen, ob ein Bestimmtes Laufwek, z.B. E: existiert und ob ein Medium eingelegt ist. Ersteres klappt mittels getdisk/setdisk prima, nur sobald ich diese Befehle auf ein Laufwerk anwende, das kein Medium eingelegt hat (z.B. Diskettenlaufwerk, CD-Laufwerk) erscheint (unter Windows) eine Aufforderung dies doch bitte zu tun.

Wie kann ich also checken, ob ein Medium eingelegt ist, ohne dass der Anwender interagieren muss?

Vielen Dank,

Mdl

bei Antwort benachrichtigen
Synthetic_codes Mdl „Laufwerkcheck C/C++ (für DOS)“
Optionen

du könntest ein paar zeilen Assembler in dein Programm einbauen, und via int 13h, Addresse 0x4C-0x4F, Funktion 0x01h den Status fürdas diskettenlaufwerk abfragen. Der Gleiche interrupt, an gleicher Addresse, nur mit Funktion 0x08h liefert dir selbige informationen für alle anderen Laufwerke.

Beachte bitte, dass diese informationen dann vom BIOS kommen, windows Xp sollte also den zugriff nicht anmonieren.

'); DROP TABLE users;--
bei Antwort benachrichtigen