Abfrage ob SD Karte vorhanden ist

Gast #858266
Lesenswert?

>Da solltest du dich schon etwas näher darüber auslassen, in welcher
>Umgebung du das herausbekommen willst...

Ist C# nicht vollständig mit MS verknüpft?

Wenn man auf ein Laufwerk zugreifen will, das "nicht vorhanden ist", 
dann spuckt das Betriebssystem eine Fehlermeldung auf.
Es SD-Karte dürfte unter Kategorie "Laufwerk" fallen.
Wenn man also irgendwie in C# auf das Laufwerk zugreifen will, und es 
ist nicht vorhanden, dann sollte die zugreifende Funktion einen 
Fehler(-Code) (irgendwas == NULL?!) zurückliefern.
Den Fehler sollte man dann entsprechend abfangen...

Das war jetzt eine theoretische Betrachtung, wie ich sie realisieren 
würde, wenn ich in C# programmieren würde...
#858395
Lesenswert?

STK500-Besitzer wrote:
>>Da solltest du dich schon etwas näher darüber auslassen, in welcher
>>Umgebung du das herausbekommen willst...
>
> Ist C# nicht vollständig mit MS verknüpft?

Nein. Es gibt auch für Linux C#-Compiler...

> Wenn man auf ein Laufwerk zugreifen will, das "nicht vorhanden ist",
> dann spuckt das Betriebssystem eine Fehlermeldung auf.
> Es SD-Karte dürfte unter Kategorie "Laufwerk" fallen.

Es gibt auch die Möglichkeit, direkt und am Dateisystem vorbei auf ein 
LW zuzugreifen. Deshalb ist es schon interessant, zu wissen, wie das 
Umfeld aussieht - OS, wenn Windows: wird .NET verwendet, auf welcher 
Ebene wird auf die Karte zugegriffen...

> Wenn man also irgendwie in C# auf das Laufwerk zugreifen will, und es
> ist nicht vorhanden, dann sollte die zugreifende Funktion einen
> Fehler(-Code) (irgendwas == NULL?!) zurückliefern.
> Den Fehler sollte man dann entsprechend abfangen...

Ein Test, ob das LW - nämlich der SD-Steckplatz - vorhanden ist, wird 
nicht ausreichen. Die Frage ist, ob ein Medium drin steckt. (Unter 
Windows spricht man von einem Volume.)
Gast #869676
Lesenswert?

Es gibt bei einen API-Befehl mit dem man die vorhandenen Laufwerke 
ermitteln kann.
Unter C++ heißt der API-Befehl _chdrive.
Damit wird ermittelt ob ein Datenträger eingelegt wird.

Unter C# müsste der Befehl gleich bzw. ähnlich sein.

mfg Barny

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren