Einzelnen Beitrag anzeigen

Benutzerbild von Rakshasa
Rakshasa

Registriert seit: 1. Nov 2003
182 Beiträge
 
Delphi 2007 Professional
 
#1

Datei ausführen unter Windows 64-Bit

  Alt 18. Feb 2007, 17:56
Hallo Leute,

unter Windows64 ist der FileSystemRedirector aktiv, der Anfragen von 32-Bit Programmen umleitet, bsp. "sieht" eine 32-Bit-Anwendung nur den Inhalt des Ordners "Windows\SysWow64\..." während 64-Bit-Anwendungen den Ordner "Windows\System32" sehen.
Nachlesen Problematisch wird dies, wenn eine 32-Bit-Anwendung eine 64-Bit-Anwendung ausführen will.

Mein Programm soll unter Win64 die Datei "regedit.exe" ausführen. Von dieser Datei existieren 2 Varianten: Eine C:\Windows\regedit.exe und eine C:\windows\syswow64\regedit.exe. Wenn mein (32-Bit) Programm nun ShellExecute ausführt, wird immer nur die 32-Bit Variante ausgeführt. Ich will aber die 64-Bit-Variante ausführen... Ist halt schlecht, da z.B. 32-Bit-RegEdit keine 64-Bit-Schlüssel sehen kann.

Umgehen kann man das nach MS durch bestimmte Flags, etwa "Wow64DisableWow64FsRedirection" oder "Wow64EnableWow64FsRedirection", welche wohl vor API calls gesetzt werden müssen.

MS hat hier was dazu geschrieben, leider schaffe ich es nicht mal annähern, den Code in Delphi umzusetzen ... hat da jemand eine Idee??
  Mit Zitat antworten Zitat