AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Überprüfen, ob shellexecute erfolgreich

Überprüfen, ob shellexecute erfolgreich

Ein Thema von barnti · begonnen am 17. Jun 2004 · letzter Beitrag vom 17. Jun 2004
Antwort Antwort
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#1

Überprüfen, ob shellexecute erfolgreich

  Alt 17. Jun 2004, 14:28
Hallo,

ich öffne eine Datei per 'shellExecute':

ShellExecute(Form_Main.Handle,nil,PChar(Pfad), nil, nil, SW_SHOW); Wenn die Datei nicht existiert, passiert gar nichts. Wie kann ich überprüfen, ob die Aktion erfolgreich verlaufen ist?
Gruß,

Barnti
  Mit Zitat antworten Zitat
Neuni

Registriert seit: 25. Feb 2004
815 Beiträge
 
Delphi 7 Personal
 
#2

Re: Überprüfen, ob shellexecute erfolgreich

  Alt 17. Jun 2004, 14:33
Man muss abfragen ob ein Fenster mit dem passenden titel offen ist...guck doch mal bei delphi-source.de da gibbet sowas (glaub ich)

Edit: Is der name der anwendung (also der fenstertitel) denn immer gleich??
  Mit Zitat antworten Zitat
Benutzerbild von Smokey
Smokey

Registriert seit: 10. Nov 2003
Ort: Puerto de la Cruz
158 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Überprüfen, ob shellexecute erfolgreich

  Alt 17. Jun 2004, 14:36
Oder aber man liest sich die Funktionsbeschreibung in der Hilfe durch und findet folgende Aussage :

Zitat:
If the function succeeds, the return value is the instance handle of the application that was run, or the handle of a dynamic data exchange (DDE) server application.

If the function fails, the return value is an error value that is less than or equal to 32
Zudem finden sich auch noch alle möglichen Errorcodes in der selben Hilfe.
Greif dir ein gutes Stück Fleisch auf deinem Weg nach draussen !!!
  Mit Zitat antworten Zitat
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Überprüfen, ob shellexecute erfolgreich

  Alt 17. Jun 2004, 14:48
Hallo,
Zitat von Smokey:
Oder aber man liest sich die Funktionsbeschreibung in der Hilfe durch und findet folgende Aussage :

Zitat:
If the function succeeds, the return value is the instance handle of the application that was run, or the handle of a dynamic data exchange (DDE) server application.

If the function fails, the return value is an error value that is less than or equal to 32
Zudem finden sich auch noch alle möglichen Errorcodes in der selben Hilfe.
Das ist sehr nett gemeint. Ich habe den Eintrag auch gefunden. Leider kann ich damit nichts anfangen...
Gruß,

Barnti
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Überprüfen, ob shellexecute erfolgreich

  Alt 17. Jun 2004, 14:51
Zitat:
If the function fails, the return value is an error value that is less than or equal to 32
Was ist da nicht zu verstehen ShellExecute liefert einen Integer zurückk. Ist dieser kleiner oder gleich 32, ist der Aufruf fehlgeschlagen

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Wheelie

Registriert seit: 21. Okt 2003
Ort: Dresden
177 Beiträge
 
#6

Re: Überprüfen, ob shellexecute erfolgreich

  Alt 17. Jun 2004, 15:02
Delphi-Quellcode:
if ShellExecute(...) < 33 then
begin
  //Fehlerbehandlung
end;
Da ShellExecute eine Funktion ist, besitzt es auch einen Rückgabewert, in diesem Fall einen Integer-Wert. Mit diesem Wert kannst du das Ergebnis auswerten -> siehe Online-Hilfe.
  Mit Zitat antworten Zitat
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Überprüfen, ob shellexecute erfolgreich

  Alt 17. Jun 2004, 15:06

Meine Abfrage, ob ein Fehler aufgetreten ist war total falsch...
Sorry, mein Fehler!
Gruß,

Barnti
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#8

Re: Überprüfen, ob shellexecute erfolgreich

  Alt 17. Jun 2004, 15:20
Zitat von Smokey:
Oder aber man liest sich die Funktionsbeschreibung in der Hilfe durch und findet folgende Aussage :
Zitat:
If the function succeeds, the return value is the instance handle of the application that was run, or the handle of a dynamic data exchange (DDE) server application.

If the function fails, the return value is an error value that is less than or equal to 32
Von der man zumindest den ersten Absatz ignorieren sollte, weil die Hilfedatei von Microsoft, die bei Borland dabei ist, hoffnungslos veraltet ist. Hier steht´s aktueller: [msdn]"ShellExecute"[/msdn].
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz