FAQ ergänzen - ShellExecute Parameter LPCTSTR FileParam
-
Hallo
http://www.c-plusplus.net/forum/viewtopic.php?t=39256
mich interessiert eigentlich, was der Parameter LPCTSTR FileParam in der Funktion ShellExecute bewirkt.
Sunday schrieb:
// ohne parameter RunApplication("meine.exe", 0); RunApplication("mailto:magic_sunday@gmx.de", 0); RunApplication("http://www.magic-sunday.de", 0); // mit parameter RunApplication("meine.exe", "1 2 3"); RunApplication("net", "use"); RunApplication("format", "a: /s"); // aufruf bei AnsiString-Übergabe AnsiString FileName = "c:\\windows\\calc.exe"; RunApplication(FileName.c_str(), 0);
Vielleicht könnte man dies noch zu den FAQ hinzufügen?
Edit: Shit, das gehört ja auch eher nach C++-Forum
-
MichelM schrieb:
Edit: Shit, das gehört ja auch eher nach C++-Forum
Eher WinAPI-Forum.
-
Hallo
Interessiert dich nun die VCL-Funktion RunApplication oder die WinAPI-Funktion ShellExecute?
Zu ersterem kannst du in der BCB-Hilfe nachlesen, zu zweiterem in der MSDN. Das braucht nicht die FAQ, denn Dokumentation lesen ist eigentlich selbstverständlich.bis bald
akari
-
Das habe ich ja im Titel schon geschrieben! Es geht um den Parameter LPCTSTR FileParam.
In der MSDN bin ich nicht richtig fündig geworden bzw. das hat mir nicht weitergeholfen.
Sunday übergibt in der Funktion RunApplication ja den LPCTSTR FileParam direkt weiter an die ShellExecute!
Und da Sunday die Aufrufbeispiele gebracht hat, dachte ich, es wäre auch hilfreich, wenn man kurz erklärt, was die Parameter dazu bewirken.
Danke
-
Hallo
Ausgehend von dieser Zeile aus der FAQ
ShellExecute(0, "open", FileName, FileParam, 0, SW_SHOWNORMAL);
kannst du nachzählen, das FileParam das vierte Argument im Aufruf von ShellExecute ist.
Mit einem Blick in die von mir verlinkte MSDN-Seite kannst du dann die Beschreibung für den vierten Parameter nachlesen :
lpParameters [in, optional]
LPCTSTRIf lpFile specifies an executable file, this parameter is a pointer to a null-terminated string that specifies the parameters to be passed to the application. The format of this string is determined by the verb that is to be invoked. If lpFile specifies a document file, lpParameters should be NULL.
Wenn das noch immer unklar ist, kannst du unten auf der MSDN-Seite noch ein einfaches Beispiel finden :
char* csApp = "regedit"; char* csParams = "/s C:\example.reg"; HINSTANCE nResult = ShellExecute( NULL, NULL, // do not request elevation unless needed csApp, csParams, // params NULL, // directory SW_HIDE);
Also während App das auszuführende Programm bestimmt, wird in Params zusätzliche Kommandozeilen-Parameter übergeben. Im Beispiel zu regedit eben eine Datei mit den hinzuzufügenden Registry-Werten.
Ich halte das immer noch nicht für FAQ-relevant...
bis bald
akari