![]() |
Windows 7 x64 - FileExist fehler
Hiho,
ich musste leider eben feststellen, dass unter Windows 7 x64 ein blöder Bug existiert mit Delphi Programmen die die FileExist Funktion benutzen wenn ich versuche folgenden einfachen Befehl auszuführen:
Code:
Die Datei Existiert 100000% aber die Funktion liefert IMMER False zurück.
if FileExists('C:\Windows\system32\java.exe') then
Showmessage('Jupp') else Showmessage('Blah'); Kennt da jemand ne lösung? ExtraInfos: - Ich habe UAC auch deaktiviert -> selbes Problem - Das Programm wurde mit Delphi 2009 erstellt - Auch wenn ich das Programm mit Admin-Rechten starte kommt dabei False raus! |
Re: Windows 7 x64 - FileExist fehler
Das ist kein Bug, sondern ein
![]() |
Re: Windows 7 x64 - FileExist fehler
dankeschön :)
so müsste man immer hilfe erhalten können :D sehr schnell und kompetent! danke! |
Re: Windows 7 x64 - FileExist fehler
Das Selbe gilt für WinXP x64, Windows Server 2003 x64 und Vista x64
|
Re: Windows 7 x64 - FileExist fehler
Aber da stellt sich mir jetzt die Frage, wie ich dann dennoch an den x64 system32 (was für ein geiler Name ^^ ) komme?
MfG xZise |
Re: Windows 7 x64 - FileExist fehler
Der wird nicht verwendet
|
Re: Windows 7 x64 - FileExist fehler
Zitat:
|
Re: Windows 7 x64 - FileExist fehler
Hallo,
Zitat:
(%windir%\Sysnative) Heiko |
Re: Windows 7 x64 - FileExist fehler
Da einige zu faul sind sich den von mir verlinkten MSDN Artikel anzuschauen, hier nochmal die Infos zusammengefasst:
Als Win32 Anwendung werden auf einem x64 System (egal ob XP, 2003, Vista, 2008, 7) alle Zugriffe auf %windir%\system32 nach %windir%\syswow64 umgeleitet. Ausgenommen davon sind folgende Unterverzeichnisse von %windir%\system32: %windir%\system32\catroot %windir%\system32\catroot2 %windir%\system32\drivers\etc %windir%\system32\logfiles %windir%\system32\spool Darüber hinaus gibt es zwei Methoden um als Win32 Anwendung an das "richtige" System32 Verzeichnis zu gelangen. Ab Windows Vista gibt es zum einen den virtuellen Ordner %windir%\sysnative. Falls eine Anwendung auf diesen Ordner zugreift, landet es automatisch im nativen System32 Ordner. Diese Methode funktioniert aber erst ab Windows Vista. Ab Windows XP dagegen funktioniert die API ![]() Hoffe damit alle Unklarheiten beseitigt zu haben. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:50 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 by Thomas Breitkreuz