![]() |
exe aus Service starten
Hallo zusammen
Ich habe wiedereinmal eine Frage zu Servicen... Normalerweise starte ich eine externe exe durch "shellexecute"
Delphi-Quellcode:
Normalerweise gebe ich auch "Application.Handle" als hwnd mit. Aber bei einer Service-Anwendung hat Application kein Handle zum weitergeben, ist ja logisch. :wink:
HINSTANCE ShellExecute( HWND hwnd,
LPCTSTR lpOperation, LPCTSTR lpFile, LPCTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd ); Aber was kann ich denn dann weitergeben? Oder kennt jemand einen Befehl mit dem eine Exe ohne Handle aufrufen kann? Danke schonmal im voraus |
Re: exe aus Service starten
oke ich kann auch irgend ein Integer als Handle angeben.
Aber wie könnte ich herausfinden, ob das Handle noch frei ist? |
Re: exe aus Service starten
Schreib einfach 0 anstatt ein Handle ;)
|
Re: exe aus Service starten
Du kannst einfahc 0 als Handle angeben oder das Handle des Desktops ermitteln und übergeben. Oder verwende CreateProcess.
|
Re: exe aus Service starten
Zitat:
aber was ist wenn schon eine Applikation das Handle 0 hat? Oder sucht sich bei 0 die Applikation selbst ein freies Handle? Danke für den Tip |
Re: exe aus Service starten
0 ist keine Handle in dem Sinne das es ein Handle ist *g*. Es ist ein reservierter (Handle) Wert der sagt, dass du kein Handle angibst. Wenn du eine Windows API aufruf machst,d er dir ein Handle zurückliefern soll ( Beispielweise FindWindow ) und du bekommst als antwort eine 0 als Handle, weist du dass ein Fehler aufgetreten ist.
|
Re: exe aus Service starten
oke, danke
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:39 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-2025 by Thomas Breitkreuz