Autor Beitrag
Peter178
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Fr 07.04.06 21:24 
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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: Fr 07.04.06 21:27 
Kennst du die Forumssuche?

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.


Zuletzt bearbeitet von jakobwenzel am Fr 07.04.06 21:31, insgesamt 1-mal bearbeitet
Danniolo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 693



BeitragVerfasst: Fr 07.04.06 21:28 
ausblenden Delphi-Quelltext
1:
2:
  if (ShellExecute(Application.Handle, 'open', PChar('C:\blubb.exe'), NilNil, SW_NORMAL) <= 32then 
    ShowMessage('Es ist ein Fehler aufgetreten');

Sollte eigentlich funktionieren :wink:
Marco D.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: Fr 07.04.06 21:35 
user profile iconDanniolo hat folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
2:
  if (ShellExecute(Application.Handle, 'open', PChar('C:\blubb.exe'), NilNil, SW_NORMAL) <= 32then 
    ShowMessage('Es ist ein Fehler aufgetreten');

Sollte eigentlich funktionieren :wink:

Vergiss nicht das:
ausblenden Delphi-Quelltext
1:
uses ShellApi;					

_________________
Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
Peter178 Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Fr 07.04.06 21:57 
ah danke :)
hatte mit der Suchfunktion nicht das gefunden, was ich haben wollte
Deathman
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 52

Win XP
Turbo Pascal, Delphi 6, Delphi 2006
BeitragVerfasst: Di 09.05.06 20:36 
es geht auch leichter
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: 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 ;-)

_________________
We are, we were and will not be.


Zuletzt bearbeitet von Gausi am Di 09.05.06 21:25, insgesamt 1-mal bearbeitet
Born-to-Frag
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1094

Win XP SP2, Win 2000 SP4
Delphi 7, 2k5
BeitragVerfasst: Di 09.05.06 20:52 
Trotzdem :welcome: im Forum user profile iconDeathman ;)


greetz

_________________
Theorie ist wenn man alles weiß, aber nichts funktioniert. Praxis ist wenn alles funktioniert, aber niemand weiß warum.
Microsoft vereint Theorie und Praxis: Nichts funktioniert und niemand weiß warum.
Deathman
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 52

Win XP
Turbo Pascal, Delphi 6, Delphi 2006
BeitragVerfasst: Mi 10.05.06 11:29 
sorry wustt ick net

Aba die Antwort is net so schlimm

THX fürs Welcome
Timosch
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1314

Debian Squeeze, Win 7 Prof.
D7 Pers
BeitragVerfasst: 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:
Suche in: Delphi-Forum, Delphi-Library "EXTERNES PROGRAMM AUSFÜHREN". Das gibt übersichtliche 2 Ergebnisse. Wer jetzt denkt, das sei ja nicht viel, der soll mal nach Suche in: Delphi-Forum, Delphi-Library SHELLEXECUTE suchen...

_________________
If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell
Barzi
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1314

Debian Squeeze, Win 7 Prof.
D7 Pers
BeitragVerfasst: 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.

_________________
If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 13.05.06 11:54 
user profile iconBarzi 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.

user profile iconTimosch 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
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1314

Debian Squeeze, Win 7 Prof.
D7 Pers
BeitragVerfasst: 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.

_________________
If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell