Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Probleme von ShellExecute unter Win2003 Server 64 Bit (https://www.delphipraxis.net/112856-probleme-von-shellexecute-unter-win2003-server-64-bit.html)

BrinkschulteManfred 28. Apr 2008 13:16


Probleme von ShellExecute unter Win2003 Server 64 Bit
 
Hallo zusammen,

habe mir eine kleine GUI geschrieben, die ein Programm mit entsprechenden Parametern Kommandozeilenparametern aufruft. Dieses Programm funktioniert unter XP und Windows 2003 jeweils ihn der 32 Bit Version gut. Unter 64 Bit 2003 Server wird das externe Prograjmm aber nicht zeitgesteuert gestartet. Es kommt auch zu keiner Fehlermeldung. Muss man ShellExecute unter Win2003/64 anders (mit anderen Werten) nutzen, damit es funktioniert? Sollte man eventuell anstatt ShellExecute anders programmieren?

Beste Grüße
Manfred

Assertor 28. Apr 2008 13:25

Re: Probleme von ShellExecute unter Win2003 Server 64 Bit
 
Du versuchst aber nicht, eine 16bit Anwendung zu starten, oder?

Bernhard Geyer 28. Apr 2008 13:35

Re: Probleme von ShellExecute unter Win2003 Server 64 Bit
 
Wie ist der Rückgabeparameter/Fehlercode von ShellExecute?

BrinkschulteManfred 28. Apr 2008 14:41

Re: Probleme von ShellExecute unter Win2003 Server 64 Bit
 
Zitat:

Zitat von Assertor
Du versuchst aber nicht, eine 16bit Anwendung zu starten, oder?

Ich denke nicht, das NTBackup.exe der jeweiligen Installation eine 16 Bit Anwendung ist :?


Zitat:

Zitat von Bernhard Geyer
Wie ist der Rückgabeparameter/Fehlercode von ShellExecute?

Der Rückgabewert ist 2 auf dem 64 Bit System und 42 auf dem 32 Bit System.

Bernhard Geyer 28. Apr 2008 14:47

Re: Probleme von ShellExecute unter Win2003 Server 64 Bit
 
Zitat:

Zitat von BrinkschulteManfred
Zitat:

Zitat von Bernhard Geyer
Wie ist der Rückgabeparameter/Fehlercode von ShellExecute?

Der Rückgabewert ist 2 auf dem 64 Bit System und 42 auf dem 32 Bit System.

#define ERROR_FILE_NOT_FOUND 2L -> Ich denke du nimmst den Falschen Pfad (WOW-Dateisystemvirtualisierung)

pertzschc 28. Apr 2008 14:50

Re: Probleme von ShellExecute unter Win2003 Server 64 Bit
 
Zitat:

Zitat von BrinkschulteManfred
Zitat:

Zitat von Bernhard Geyer
Wie ist der Rückgabeparameter/Fehlercode von ShellExecute?

Der Rückgabewert ist 2 auf dem 64 Bit System und 42 auf dem 32 Bit System.

Schau mal hier: Link

Gruß,
Christoph

BrinkschulteManfred 28. Apr 2008 15:05

Re: Probleme von ShellExecute unter Win2003 Server 64 Bit
 
Wenn ich das richtig interpretiere, dann heißt dies, dass die Datei nicht gefunden wird, oder?

Ich habe aber sowohl
Delphi-Quellcode:
ShellExecute(handle, 'open', 'NTBackup.exe', AufrufAsPChar, '', SW_Shownormal);
als auch
Delphi-Quellcode:
ShellExecute(handle, 'open', 'C:\windows\system32\NTBackup.exe', AufrufAsPChar, '', SW_Shownormal);
ausprobiert. Der Pfad stimmt aber trotzdem kommt der Fehlerwert 2. :(

Bernhard Geyer 28. Apr 2008 15:12

Re: Probleme von ShellExecute unter Win2003 Server 64 Bit
 
Du bekommst als Win32 unter Win64 andere Verzeichnisse untergeschoben als du im Windows Explorer siehst.
System32 wird irgendwie als SysWOW32 umgebogen und dort wird das 64-Bit NTBackup.exe nicht liegen.

BrinkschulteManfred 29. Apr 2008 08:19

Re: Probleme von ShellExecute unter Win2003 Server 64 Bit
 
Danke Bernhard,

das hört sich doch schon mal gut an. Aber warum findet er dann die NTBackup.Exe nicht, wenn ich sie ohne Pfad aufrufe, also Variante 1 ?

Luckie 29. Apr 2008 08:25

Re: Probleme von ShellExecute unter Win2003 Server 64 Bit
 
Weil unter 64-Bit Windows eben die Pfade umgebogen werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:17 Uhr.
Seite 1 von 2  1 2      

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