AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi CSDIL_PROGRAM_FILES in 32Bit/64Bit
Thema durchsuchen
Ansicht
Themen-Optionen

CSDIL_PROGRAM_FILES in 32Bit/64Bit

Ein Thema von QuickAndDirty · begonnen am 7. Sep 2012 · letzter Beitrag vom 22. Sep 2012
Antwort Antwort
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
2.091 Beiträge
 
Delphi 12 Athens
 
#1

AW: CSDIL_PROGRAM_FILES in 32Bit/64Bit

  Alt 7. Sep 2012, 16:28
Uff.
Das könnte erklären warum das schief geht.

Kannst du auch ExpandUNCFileName('C:\Program Files')
testen?

Wenn das etwas anderes liefert als das Kompatibilitäts Verzeichnis habe ich ein Problem.
Andreas
Nobody goes there anymore. It's too crowded!
  Mit Zitat antworten Zitat
DanielProgramming
(Gast)

n/a Beiträge
 
#2

AW: CSDIL_PROGRAM_FILES in 32Bit/64Bit

  Alt 7. Sep 2012, 16:36
Kommt C:\Program Files raus
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
2.091 Beiträge
 
Delphi 12 Athens
 
#3

AW: CSDIL_PROGRAM_FILES in 32Bit/64Bit

  Alt 7. Sep 2012, 17:23
Das erklärt dann mein problem!

Danke !
Andreas
Nobody goes there anymore. It's too crowded!
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#4

AW: CSDIL_PROGRAM_FILES in 32Bit/64Bit

  Alt 7. Sep 2012, 19:39
Auf einem Windows 64Bit wird CSIDL_PROGRAM_FILES bei einem 32Bit-Programm C:\Program Files (x86) und ein 64Bit-Programm C:\Program Files als Ergebnis liefern.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#5

AW: CSDIL_PROGRAM_FILES in 32Bit/64Bit

  Alt 8. Sep 2012, 09:04
"Wer nach Hunden sucht, wird keine Katzen finden."

Die Frage ist falsch gestellt:
Nimm KNOWNFOLDERID:
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
.
http://msdn.microsoft.com/en-us/wind.../gg463051.aspx
.
FOLDERID_ProgramFiles

GUID: {905e63b6-c1bf-494e-b29c-65b732d3d21a}
Display Name: Program Files
Folder Type: FIXED
Default Path: %ProgramFiles% (%SystemDrive%\Program Files)
CSIDL Equivalent: CSIDL_PROGRAM_FILES
Legacy Display Name: Program Files
Legacy Default Path: %ProgramFiles% (%SystemDrive%\Program Files)

Geändert von hathor ( 8. Sep 2012 um 09:17 Uhr)
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
2.091 Beiträge
 
Delphi 12 Athens
 
#6

AW: CSDIL_PROGRAM_FILES in 32Bit/64Bit

  Alt 8. Sep 2012, 10:17
Und wie bekomme ich damit Raus ob z.B.
'c:\Programski Fileski\MYProgramm'
ein Ort in einem SpecialFolder ist?

Ich muss verhindern das ein Setup etwas in das "Programme" Verzeichnis installiert, Weil unsere Anwendung dafür noch nicht ausgelegt ist.
Andreas
Nobody goes there anymore. It's too crowded!
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#7

AW: CSDIL_PROGRAM_FILES in 32Bit/64Bit

  Alt 8. Sep 2012, 10:24
Das ist doch in den Links oben genau beschrieben:
Mit einem 32Bit-Programm bekommst Du auch NUR den 32Bit-Ordner! Siehe Anhang...

Ich würde von den WINDOWS-Programm-Pfaden "die Finger lassen".

Alternative - da ist es gleich, ob 32Bit oder 64Bit:

Delphi-Quellcode:
function SpecialDirectory(const iID: Integer): string;
var aPath : array[0..MAX_PATH] of Char; pilTemp: PItemIDList;
begin
   try
      if SHGetSpecialFolderLocation(0, iID, pilTemp)=S_OK then begin
         if SHGetPathFromIDList(pilTemp, aPath) then begin
            Result := string(aPath);
         end else Result := ''; CoTaskMemFree(pilTemp);
      end else Result := '';
   except Result := '';
   end;
end;

function GetConfigPath: String;
var AppDir: String;
begin
  AppDir := SpecialDirectory(CSIDL_APPDATA)+'\DEIN PROGRAMM-NAME'; //DEIN PROGRAMM-NAME
  if DirectoryExists(AppDir) = false then mkdir(AppDir);
    result := AppDir+'\';
end;
Angehängte Grafiken
Dateityp: jpg WINDOWS-PATHS.jpg (163,9 KB, 51x aufgerufen)

Geändert von hathor ( 8. Sep 2012 um 10:43 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz