SpecialFolder

    • VB.NET

    Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

      SpecialFolder

      Windows legt eine Reihe von Standard-Ordnern an, auch mit spezifischen Rechten. Diese zu berücksichtigen ist beim Programmieren sehr wichtig - nur wie kriegt man die konkreten Pfade nun raus - die können ja von System zu System durchaus unterschiedlich sein?

      Diese Information stellt die System.Environment-Klasse bereit, mittels einer Enumeration, die die Standard-Ordner bezeichnet, und einer Methode, die anhand eines Enum-Wertes den entsprechenden Pfad rausrückt.

      Hier eine Sample-App, die Enumeration und Pfad auflistet, und der Code (zeilen #9 und #10) zeigt auch wie man bestimmte SpecialFolders abruft (SpecialFolder.Personal + SpecialFolder.CommonDocuments).



      VB.NET-Quellcode

      1. Imports System.Environment
      2. Public Class frmSpecialFolderTester
      3. Private Sub frmSpecialFolderTester_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
      4. For Each enm As SpecialFolder In [Enum].GetValues(GetType(Environment.SpecialFolder))
      5. Me.SpecialFolderDts.SpecialFolderInfo.AddSpecialFolderInfoRow(enm.ToString, GetFolderPath(enm))
      6. Next
      7. Dim personal as string = Environment.GetFolderPath(SpecialFolder.Personal)
      8. Dim commonDocs as string = Environment.GetFolderPath(SpecialFolder.CommonDocuments)
      9. MsgBox(String.Format( _
      10. "personal documents located at: {0}{1}{0}{0}common documents located at:{0}{2}", _
      11. vbNewLine, personal, commonDocs))
      12. End Sub
      13. End Class
      Dateien

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „ErfinderDesRades“ ()

      Die Enumeartion ist in Environment.SpecialFolder-Enumeration dargestellt.

      Aber:

      Wo ist der richtige Platz, um die zu einem Programm gehörigen Konfigurationsdateien, Datasets, Access-Datenbanken, Excel-files etc. unterzubringen? Bei MS habe ich nix gefunden (was aber nichts bedeuten muss). Gibt es Richtlinien, die befolgt werden sollten?
      Hängt auch vonne Installation ab. Bei systemweiter Installation gehören Daten-Dateien ins ApplicationData-Verzeichnis, bei einer Installation für nur einen Win-Account gehören sie ins LocalApplicationData.
      Konfiguration täte ich zusammen mittm Program in die ProgramFiles, oder auch in die CommonProgramFiles. (Aber vlt. liege ich hier auch schon falsch, und in ProgramFiles hat eine vom Standard-Win-Account gestartete App garkeine Schreibrechte)
      Und so weiter.
      Gibt bestimmt Richtlinien - habich aber keine Ahnung von - weiß jmd. was?