Einzelnen Beitrag anzeigen

Benutzerbild von Rakshasa
Rakshasa

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

Re: Datei ausführen unter Windows 64-Bit

  Alt 20. Feb 2007, 14:20
Zitat von himitsu:
Da kernel32.dll in deinen Anwendungen eh immer bereits geladen sein wird, brauchst du ssie nicht nochmals zu laden/freizugeben ^^
FreeLibrary(hHandle); entfällt und hHandle := LoadLibrary('kernel32.dll'); wird durch hHandle := GetModuleHandle('kernel32.dll'); ersetzt.

Dein IsWin64 kannst du eigentlich auch weglassen, denn du fühst die Anwendung ja so oder so aus, selbst wenn Wow64DisableWow64FsRedirection nicht funkioniert.
Außerdem wird Wow64DisableWow64FsRedirection eh nur unter Win64 laufen.
Also kann man auch durch Aufrufen 'ner Win64-Funktion gleich mit auf Win64 testen.
Hallo himitsu,

danke mal wieder für Deine Optimierung des Codes. Funktioniert jetzt unter Win64 (Vista) und Win32 (XP, SP2) fast ohne Probleme oder Fehler.
Einziges Problem habe ich mit der TTaskDialog Komponente von TMS. Sobald eine Datei über FileExec() aufgerufen wurde, kann der Dialog nicht mehr angezeigt werden (keine Fehlermeldungen o.ä.).
ShowMessage(), MessageDlg() funktionieren normal ...
Dieser Fehler taucht übrigens nicht auf, wenn ich die Datei direkt über Shellexecute() (also ohne Wow64DisableWow64FsRedirection) ausführe.
  Mit Zitat antworten Zitat