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
 
QuickAndDirty

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

CSDIL_PROGRAM_FILES in 32Bit/64Bit

  Alt 7. Sep 2012, 15:47
Hallo ich muss aus einem 32 Bit Programm heraus ermitteln
ob ein ein angeebener Pfad dem Programme Verzeichnis entspricht bzw. darin liegt.

Das muss auch funktionieren wenn das Programm auf einem 64Bit Betriebsystem läuft.

Ich mache das wie folgt:
Delphi-Quellcode:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
  Registry,
  ActiveX,
  ComObj,
  ShlObj;

Function CheckForProgramFilesPath(aPath:String):Boolean;
var Ppath:String;
    hPath: PChar;
    pIdl: PItemIDList
Begin
  aPath := ExpandUNCFileName(aPath);
  PPath := '';
  if SUCCEEDED(SHGetSpecialFolderLocation(0, CSIDL_PROGRAM_FILES, pidl)) then
  begin
    hPath := StrAlloc(MAX_PATH);
    SHGetPathFromIDList(pIdl, hPath);
    PPath := hPath;
    StrDispose(hPath);
  end;
  FreePIDL(pIdl);
  Result := Ansipos(PPath, aPath) = 1;
End;
Ich bin mir nicht ganz sicher, kann es hier auch nicht testen, aber kann es sein das dieser Code auf einem 64Bit Betriebssystem nicht funktioniert?

Was gibt SHGetSpecialFolderLocation für CSIDL_PROGRAM_FILES zurrück wenn man es auf einem 64 Bit Betriebsystem mit einer 32 Bit Anwendung abfragt?
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
 


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 15:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz