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
loladi Mdl „Laufwerkcheck C/C++ (für DOS)“
Optionen

@Mdl

BIOS und DOS Interrupts können auch direkt in C aufgerufen werden.
siehe:
http://pcnews.at/_pdf/n670068.pdf

Hier ein netter Überblick über die 80x86 Interrupt Programmierung:
http://de.wikibooks.org/wiki/Interrupts_80x86

Wie Synthetic_codes bereits schrieb, kommt für Dich Interrupt 13 Funktion in Frage.
http://de.wikibooks.org/wiki/Interrupts_80x86/_INT_13#Funktion_1:_Status_lesen

Wieweit sich das mit Windows verträgt, kann ich Dir leider nicht sagen...

Gruss, Lothar

bei Antwort benachrichtigen