![]() |
Programmstart per ShellExecute vs. CreateProcess
Moin Moin ...
Ich habe eine Schnellstart-Leiste programmiert, die gerade hier: ![]() vorgestellt wird. Sämtliche Programstarts werden dort per ShellExecute ausgefüht. Das klappt zwar vorbildlich jedoch habe ich gerade beim Stöbern in der Code-Library gelesen, daß ich ein 'Abfallprodukt' benutze ! :shock: Siehe Beitrag: ![]() Es wäre ein Leichtes umzusatteln auf die CreateProcess-Routine aber mir ist noch unklar, wo genau dann meine Vorteile wären. Danke für Eure Hilfe. |
Re: Programmstart per ShellExecute vs. CreateProcess
createprocess ist eben noch dierekter als shellexecute und somit schneller.
Shellexecute ist eben die "Funktion für alles", die, falls der command open lautet, erst überprüft, ob die Datei eine executable ist, und wenn ja, diese per createprocess startet, und andernfalls die verknüpfte Anwendung mit createprocess und den entsprechenden Parametern startet. Es könnte allerdings auch sein, dass jemand mit dem Launcher eine andere Datei als eine EXE laden will und dann würde CreateProcess meckern. Ich denke dass es auf diese paar Millisekunden Zeitgewinn nicht ankommt (command auf 'open' überprüfen, Registry auslesen, createprocess aufrufen) ich würde die createprocess allerdings nicht mit einem Abfallprodukt vergleichen sondern eher damit wenn du aus Komfort nicht die dierekte nonVCL- sondern die "um-fünf-Ecken" VCL verwendest. |
Re: Programmstart per ShellExecute vs. CreateProcess
Zitat:
Der große Vorteil von CreateProcess ist, dass die Funktion eben nur für Prozesse gedacht ist und deshalb einige interessante Parameter mehr zur Verfügung stellt. |
Re: Programmstart per ShellExecute vs. CreateProcess
CreateProcess ist einfach interessant wenn man ein Programm nicht nur starten will sondern dabei auch noch etwas festlegen will. Mit CreateProcess kann man ein Programm auf einem anderen Desktop starten, die Standardeingabe und Standardausgabe umleiten und vieles mehr. Wenn du aber einfach ein Programm nur simpel (wie im Explorer) starten willst reicht ShellExecute.
|
Re: Programmstart per ShellExecute vs. CreateProcess
OkeeDokee ...
Also eher mehr Probleme als Vorteile ... Hm ... dann betreibe ich also doch keinen 'Mißbrauch', Alles ist gut und bleibt wie es ist. Übrigens das mit 'Abfallprodukt' ist O-Ton von 'Luckie' (s.o.) :lol: Zitat:
|
Re: Programmstart per ShellExecute vs. CreateProcess
Moin SittingDuck,
ausser CreateProcess kommt dann vielleicht auch noch ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:11 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