Thomas Bandt

Über mich | Kontakt | Archiv

[CF] Name der Speicherkarte auslesen

Will man von seiner Anwendung auf Daten auf der Speicherkarte zugreifen, sollte man den Pfad nicht fest verdrahten, denn je nach verwendeter Sprachversion des PDAs, kann der Ordner anders heißen, mal "Speicherkarte", mal "Storage Card" usw.

Mit nachfolgendem Code lässt sich sich der Name ermitteln:

DirectoryInfo rootDir = new DirectoryInfo(@"\");
FileAttributes attrStorageCard = FileAttributes.Directory | FileAttributes.Temporary;
foreach (FileSystemInfo fsi in rootDir.GetFileSystemInfos())
{
   if ((fsi.Attributes & attrStorageCard) == attrStorageCard)
   {
      databasePath = fsi.FullName;
      break;
   }
}

Update

Ja, die Frage ist berechtigt. Also erweitern wir das Ganze darum, nach dem Zielordner auf der Speicherkarte zu suchen. Es wird also nicht "die erstbeste Karte" genommen, sondern nur die, auf der das Verzeichnis wirklich drauf ist.

DirectoryInfo rootDir = new DirectoryInfo(@"\");
FileAttributes attrStorageCard = FileAttributes.Directory | FileAttributes.Temporary;
foreach (FileSystemInfo fsi in rootDir.GetFileSystemInfos())
{
   if ((fsi.Attributes & attrStorageCard) == attrStorageCard)
   {
      if (new DirectoryInfo(fsi.FullName + @"\Data").Exists)
      {
         databasePath = fsi.FullName + @"\Data";
         break;
      }
   }
}

Kommentare

  1. Thommy schrieb am Mittwoch, 4. Oktober 2006 11:45:00 Uhr:

    Was passiert, wenn zwei oder mehr Speicherkarten drin stecken?


« Zurück  |  Weiter »