| Autor |
Beitrag |
Kuyatzu
      
Beiträge: 26
|
Verfasst: Fr 21.09.07 22:56
Hi Leute
Ich weiß nicht wie ich das hinbekomme das überprüft wird ob ShellExecute das Programm gestartet hat
und bei true/bzw. false eine andere Option folgt.
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Fr 21.09.07 23:03
Wie jede API sollte Dir SHELLEXECUTE entweder True\ False als Result liefern, ODER den Status über GETLASTERROR zurückmelden.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
bms
      
Beiträge: 735
Win XP
Delphi 3, Delphi 6 PE, Delphi 2005 PE
|
Verfasst: Sa 22.09.07 01:20
_________________ VORSICHT: Ich behersche seit heute die Fünf-Finger-Handflächen-Herz-Explodier-Schlag-Kampf-Technik >
|
|
Kuyatzu 
      
Beiträge: 26
|
Verfasst: Sa 22.09.07 08:30
Danke
Das ist schon sehr hilfreich und danke für die schnelle Antwort.
Hab aber doch noch ein Problem und zwar weiß ich nicht wie man das den macht mit
result usw.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm1.Button1Click(Sender: TObject); begin ShellExecute(0, 'open','yxz.exe', nil, nil, SW_SHOW); ShowMessage('"yxz.exe" nicht gefunden.Bitte überprüfen sie den Pfad'); end; |
|
|
Timosch
      
Beiträge: 1314
Debian Squeeze, Win 7 Prof.
D7 Pers
|
Verfasst: Sa 22.09.07 10:35
Ähm, ShellExecute ist eine Funktion. Also:
Delphi-Quelltext
Und in a ist dann der Result-Wert von ShellExecute.
_________________ If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell
|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Sa 22.09.07 10:47
Moin!
Wie wäre es denn, wenn du erstmal separat überprüfst, ob die Anwendung existiert? Dann kannst du diesen Fall schonmal ausschließen und ganz sicher sein:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TForm1.Button1Click(Sender: TObject); begin if FileExists('yxz.exe') then begin if (ShellExecute(0, 'open', 'yxz.exe', nil, nil, SW_SHOW) <= 32) then ShowMessage('Fehler beim Start von "yxz.exe"!'); end else ShowMessage('"yxz.exe" nicht gefunden. Bitte überprüfen sie den Pfad'); end; |
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Heiko
      
Beiträge: 3169
Erhaltene Danke: 11
|
Verfasst: Sa 22.09.07 10:55
Hallo Narses, dass ist unnötiger Aufwand. Wenn ShellExecute es nicht findet, dann gibt das einen entsprechenden Fehlercode zurück (siehe MSDN-link).
|
|
Kuyatzu 
      
Beiträge: 26
|
Verfasst: Sa 22.09.07 13:25
danke das ist gut damit ist das Problem gelöst.
habt ihr auch eine zweite oder dritte Meinung zu meinem anderen Problem ??
www.delphi-forum.de/viewtopic.php?t=76581
|
|