Veröffentlicht 30. Juni 200421 j Mit folgendem Code prüfe ich ob sich im Laufwerk A eine Diskette befindet. Das funktioniert auch wunderbar, allerdings bekomme ich, bei leerem Laufwerk, von Win2k automatisch eine Systemmeldung ("Keine Diskette im Laufwerk...") und von Win98 nicht. Hat einer eine Idee wie ich entweder diese Meldung auch unter Win98 bekomme oder unter Win2k keine mehr? int diskfree (char* lpPfad, char* lpErgebnis) { WIN32_FIND_DATA wfd; HANDLE hFile; // übergebene Datei(en) suchen hFile = FindFirstFile(lpPfad,&wfd); if (hFile != INVALID_HANDLE_VALUE) { // Datei wurde gefunden. Diskette ist nicht leer strcpy(lpErgebnis,"N"); } else { // keine Datei gefunden. Diskette ist leer strcpy(lpErgebnis,"J"); } return 0; } [/PHP]
30. Juni 200421 j Das ist jetzt mehr ein Schuss ins Blaue, aber du könntest unter NT/2000/XP versuchen, ob du mit Windows Management Instrumentation (WMI) bessere Ergebnisse erzielst. Die WMI-Klasse Win32_DiskDrive hat ein Member MediaLoaded, das könnte das sein, was du suchst.
30. Juni 200421 j Autor Hmmm es muss aber auch unter Win95 und 98 laufen. Ich könnte zwar selber einfach eine MessageBox ausgeben, aber dann wäre es unter 2000 ja doppelt und das ist auch blöd...
30. Juni 200421 j Hmmm es muss aber auch unter Win95 und 98 laufen.Ist kein Problem. Du kannst ja zur Laufzeit die Windowsversion prüfen und gegebenenfalls eine DLL mit den WMI-Funktionen laden.
30. Juni 200421 j Autor Das ist aber so umständlich Ne Spaß bei Seite, das wird wohl die beste Lösung sein. Danke:)
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.