Announcement

Collapse
No announcement yet.

Programmverzeichiss unter Windows

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Programmverzeichiss unter Windows

    Hy habe folgendes Problem

    Gibt es eine Möglichkeit unter Delphi 5 rauszubekommen wo das Microsoft Shared verzeichniss abgelegt ist ??

    Es ist ja meist in Programme\Gemeinsame Dateien\microsoft shared hinterlegt

    nur sobalt Windows nicht in auf C:\ installiert wird oder der User sein Programmverzeichniss auf D:\ hat klappt das wohl nicht oder kann ich davon ausgehen das wenn ich das WINDIR hab auch den Pfad für die Microsoft Shared Verzeichnisse hab ??


    Danke für ne Info

  • #2
    Eine Suche in der Registry fördert folgende Einträge zu Tage:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools
    und dort sharedFilesDir

    Oder sieh mal bei
    http://www.swissdelphicenter.ch/torr...de.php?id=2277
    CommonProgramFiles ist der Pfad "unter" Microsoft Shared

    BYE BERND

    Comment


    • #3
      Versuchs mal damit:

      HTML Code:
      (*** Mögliche Parameter ***
      vgl. unit SHFolder.pas
      CSIDL_ADMINTOOLS;
      CSIDL_APPDATA;
      CSIDL_PROGRAM_FILES_COMMON;
      CSIDL_COOKIES;
      CSIDL_FLAG_CREATE;
      CSIDL_PERSONAL;
      CSIDL_MYPICTURES;
      CSIDL_PROGRAM_FILES;
      CSIDL_LOCAL_APPDATA;
      CSIDL_INTERNET_CACHE;
      CSIDL_HISTORY;
      CSIDL_COMMON_APPDATA;
      CSIDL_COMMON_DOCUMENTS;
      CSIDL_COMMON_ADMINTOOLS;
      ***)
      
          
      function GetShellFolder(const CSIDL: Integer): string;
      var
        pszPath: {$IFDEF DotNet}
                 StringBuilder
                 {$ELSE}
                 PAnsiChar
                 {$ENDIF};
      begin
      
          {$IFDEF DotNet}
          pszPath := StringBuilder.Create(MAX_PATH);
          {$ELSE}
          pszPath := AllocMem(MAX_PATH);
          {$ENDIF}
          try
            if Succeeded(SHGetFolderPath(0 {Application.Handle ?},
                                         CSIDL,
                                         0,
                                         0,
                                         pszPath)) then
              Result := pszPath;
          finally
            {$IFNDEF DotNet}
            FreeMem(pszPath);
            {$ENDIF}
          end;
      Bye Ollo

      Comment

      Working...
      X