ShellExecute--->Spezielle Bedingungen?
-
HAllo Leute...
sagt mal kann man mit shellexecute nicht jedes Programm starten?
Weil das geht:
ShellExecute(0,"open","excel.exe","","",SW_SHOW);Und ich habe ein Programm geschrieben, welches ich starten lassen will!
MeinProg.exe (liegt in meinem Verzeichnins c:\Programming\MeinProg)
und wenn ich excel gegen MeinPorg tausche passiert nix........warum??
-
weil du das genaue verzeichnis angeben musst?
-
Und wieso muss ich das beim excel nich?
-
weil windows das verzeichnis von excel schon selber kennt(ist ja 'n ms produkt)
-
das ist doch standard bei microsoft. die wollen es komfortabel machen, aber auf dauer läuft die regestry über und der rechner wird langsamer und langsamer und kackt irgendwann ab.
-
ShellExecute(0, "open", FileName.c_str(), "", "", SW_SHOWNORMAL);
FileName ist ein Pfad+Dateiname einer Excel Datei.
Ich habe spasshalber mal einen eingetragen der nicht existiert .. aber ich bekomme kein Errortry { ShellExecute(0, "open", OutFileName.c_str(), "", "", SW_SHOWNORMAL); } catch(...) { ShowMessage(""); } // noch HINSTANCE x = ShellExecute(0, "open", OutFileName.c_str(), "", "", SW_SHOWNORMAL); if (x==NULL) ShowMessage("");Wie bekomme ich ShowMessage(""); falls Datei nicht existiert bzw das Programm welches sie aufrufen sollte, nicht installiert ist / gefunden wird?
-
Bin mir nicht sicher, aber eher mit CreateProcess().
Einfacher wäre es natürlich, einfach mittels FileExists() zu prüfen, ob die Datei existiert.
-
@Mink
Soweit mir bekannt ist, ist ShellExecute() WinAPI, also reines C. Da gibt es keine Exceptions, dass du keine bekommst ist also ganz normal!Wird aber wohl bei CreateProcess genau so sein...
-
Joe_M.
Wie bekomme ich ShowMessage(""); falls Datei nicht existiert bzw das Programm welches sie aufrufen sollte, nicht installiert ist / gefunden wird?
Die Datei abfragen ist ja nicht das Problem. Aber existiert das Programm was die Datei laden soll? Kann das Programm sie laden? War die Datei beschädigt, falsches Format oder ist grad in Benutzung?
Ich möchte ja wissen, ob das Programm die Datei erfolgreich öffnen konnte und nicht ob die Datei existiert.
-
Wie wär's mit einem Blick in die Hilfe zu ShellExecute, insbesondere zu den Return Ralues!?
-
Dieser Thread wurde von Moderator/in Jansen aus dem Forum VCL/CLX (Borland C++ Builder) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Wie wärs denn mal mit Handbuch lesen oder in de MSDN nachschauen was eine Funktion macht und nicht meinen weil ichs so denke passierts auch so.
C++ ist nicht alles.
Alle Api´s die mir in Windows bekannt sind haben damit sie von allen möglichen Programmen aufgerufen werden können eine reines C-Interface.
Bei dem phantastischen C++ können sich sie Hersteller ja nicht auf Standards bezüglich ihrer Kompilate einigen, und es somit ungeeignet um als Api´s
für jedermann angeboten zu werden..