Entwickler-Ecke
Dateizugriff - Programm soll exe-Datei starten
Peter178 - Fr 07.04.06 21:24
Titel: Programm soll exe-Datei starten
Ich weiß leider nicht genau, ob das hier richtig ist, aber hat einer eine Ahnung, wie man sein Delphi Programm dazu bringt, irgend eine exe-Datei zu starten?
jakobwenzel - Fr 07.04.06 21:27
Kennst du die Forumssuche?
Danniolo - Fr 07.04.06 21:28
Delphi-Quelltext
1: 2:
| if (ShellExecute(Application.Handle, 'open', PChar('C:\blubb.exe'), Nil, Nil, SW_NORMAL) <= 32) then ShowMessage('Es ist ein Fehler aufgetreten'); |
Sollte eigentlich funktionieren :wink:
Marco D. - Fr 07.04.06 21:35
Danniolo hat folgendes geschrieben: |
Delphi-Quelltext 1: 2:
| if (ShellExecute(Application.Handle, 'open', PChar('C:\blubb.exe'), Nil, Nil, SW_NORMAL) <= 32) then ShowMessage('Es ist ein Fehler aufgetreten'); |
Sollte eigentlich funktionieren :wink: |
Vergiss nicht das:
Peter178 - Fr 07.04.06 21:57
ah danke :)
hatte mit der Suchfunktion nicht das gefunden, was ich haben wollte
Deathman - Di 09.05.06 20:36
es geht auch leichter
Delphi-Quelltext
1:
| Winexec('Dateipfad', SW_SHOWNORMAL); |
zur erklärung:
SW_SHOWNORMAL steht dafür wie es angezeigt werden soll.
Du kannst auch SW_SHOWMINIMIZED oder SW_SHOWMAXIMIZED nehmen
Gausi - Di 09.05.06 20:43
WinExec. Sollte. Nicht. Mehr. Verwendet. Werden.
Das gibts nur noch aus Abwärtskompatiblitätsgründen und macht bei einigen Usern unter XP schon jetzt arge Probleme.
Edit: :oops: Ist eigentlich nicht meine Art, einen Neuling so anzupflaumen. Sorry. Ich bin eigentlich ein ganz lieber ;-)
Born-to-Frag - Di 09.05.06 20:52
Trotzdem :welcome: im Forum
Deathman ;)
greetz
Deathman - Mi 10.05.06 11:29
sorry wustt ick net
Aba die Antwort is net so schlimm
THX fürs Welcome
Timosch - Mi 10.05.06 14:12
Trotzdem ist es zum Verrücktwerden, dass regelmäßig immer wieder solche Threads eröffnet werden. Und zum Satz "Hatte bei der Suche nichts gefunden" lässt sich nur sagen:
"EXTERNES PROGRAMM AUSF?HREN". Das gibt übersichtliche 2 Ergebnisse. Wer jetzt denkt, das sei ja nicht viel, der soll mal nach
SHELLEXECUTE suchen...
Delete - Fr 12.05.06 17:12
Nur mal aus reinem Interresse: Warum wurde Shellexec den abgesetzt. Dieser Befehl ist doch eigentlich viel unkomplizierter als 'shellexecute'. Oder?
Timosch - Sa 13.05.06 11:22
Du meinst WinExec? Alle neuen Funktionen sind komplizierter als die alten (meistens jedenfalls), aber sie können nun mal mehr. Früher gab es CreateWindow, jetzt gibt es CreateWindowEx mit lauter zusätzlichen Parametern.
Bei ShellExecute kannst du noch ein Standardverzeichnis angeben, und die Parameter für das Programm werden in einem getrennten Parameter übergeben. (Ich hoffe, das letzte war halbwegs verständlich... :-) )
Wenn ich Programme nur für mich selber (Win2000) schreibe, benutz ich auch noch oft WinExec, und das kann mir keiner ausreden.
Wenn ich Programme aber für die "Öffentlichkeit" schreibe, benutze ich ShellExecute.
Übrigens: Soweit ich weiß, gibt es schon ShellExecuteEx, also sollte auch ShellExecute nicht mehr verwendet werden... :mrgreen:
Das WinExec unter XP Probleme macht, kann ich nicht bestätigen. Bei mir läuft es zumindest problemlos.
Aber generell stimmt das natürlich schon: Die obsolete-Funktionen sollten nicht mehr verwendet werden.
Delete - Sa 13.05.06 11:54
Barzi hat folgendes geschrieben: |
Nur mal aus reinem Interresse: Warum wurde Shellexec den abgesetzt. Dieser Befehl ist doch eigentlich viel unkomplizierter als 'shellexecute'. Oder? |
Weil WinExec nur noch aus Kompatibilitätsgründen für 16-Bit Programme vorhanden ist. Unter Windows Vista, was keine 16-Bit Programme mehr unterstützt könnte es also nicht mehr vorhanden sein.
Timosch hat folgendes geschrieben: |
Früher gab es CreateWindow, jetzt gibt es CreateWindowEx mit lauter zusätzlichen Parametern. |
CreateWindowEx hat einen parameter mehr, nämlich den ersten für die extendet Fensterstile.
Zitat: |
Wenn ich Programme nur für mich selber (Win2000) schreibe, benutz ich auch noch oft WinExec, und das kann mir keiner ausreden.
Wenn ich Programme aber für die "Öffentlichkeit" schreibe, benutze ich ShellExecute. |
Und warum dann nicht auch gleich für dich? Verlierst du den Source könnte es für dich unter Vista unbrauchbar werden und du müsstes es komplett neu schreiben.
Zitat: |
Übrigens: Soweit ich weiß, gibt es schon ShellExecuteEx, also sollte auch ShellExecute nicht mehr verwendet werden. |
ShellexecuteEx ist nur eine Erweiterung und bietet noch ein paar mehr Möglichkeiten. Zum Beipiel erhält man ein Prozesshandle usw.
Timosch - Mo 15.05.06 09:27
Zitat: |
Zitat: | Wenn ich Programme nur für mich selber (Win2000) schreibe, benutz ich auch noch oft WinExec, und das kann mir keiner ausreden.
Wenn ich Programme aber für die "Öffentlichkeit" schreibe, benutze ich ShellExecute. |
Und warum dann nicht auch gleich für dich? Verlierst du den Source könnte es für dich unter Vista unbrauchbar werden und du müsstes es komplett neu schreiben. |
Das stimmt eigentlich, aber ich habe nicht vor, mir Vista zu kaufen. Win2k ist noch eine Weile in Ordnung, und ich bin ein sehr fauler Mensch. Aber eigentlich hast du schon Recht.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!