[ Tipp/Denkanstoß ] Ein Programm öffnen & ihn etwas übergeben
-
ja, in der überschrift steht mein problem bereits, habe die boardsuche verwendet & nichts gefunden, und um den ganzen bereich zu durchblättern hätte ich keine zeit ( 138 seiten ), es geht um den internet explorer, ich habe nun den großteil des codes fertiggeschrieben, ich möchte nun eine function einbauen, mit dem der internet explorer aufgerufen wird & ihm ein link übergeben wird ( der internet explorer surft diese seite an ), also um das in pseudo-code darzustellen :
void function(void) ist ( gedrückte tast == 1) { öffne iexplorer mit der internetseite www.muster.de }
kann mir einer von euch bitte paar denkanstöße geben oder tipps, will das problem nämlich nicht gelöst kriegen, möchte ja was dazulernen, ich bedanke mich schonmal im vorraus, und falls es schon so einen thread geben sollte, entschuldige ich mich schonmal im vorraus
greetz, r0x
p.s.: google habe ich auch schon ausprobiert, nix gefunden, also nix was mich weiterbringen könnte. Und noch letzteres, in welchem Kapitel könnte ich nachschauen, wenn wir von Pronixs Tutorial ausgehen ? ( www.pronix.de )
nochmals entschuldigung &/oder vielen dank im vorraus
-
r0x schrieb:
ich möchte nun eine function einbauen, mit dem der internet explorer aufgerufen wird & ihm ein link übergeben wird ( der internet explorer surft diese seite an )
system( "iexplorer http://www.google.de/" );
WinExec oder CreateProcess wenn du unter Windows arbeiten willst.
-
WinExec ist veraltet und ruft intern eh CreateProcess auf. System sollte auch nicht verwendet werden. Wenn schon Windows dann ShellExecute! Siehe WinAPI FAQ!
-
#include <windows.h> #include <stdio.h> void main( VOID ) { STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory( &si, sizeof(si) ); si.cb = sizeof(si); ZeroMemory( &pi, sizeof(pi) ); // Start the child process. if( !CreateProcess( NULL, // No module name (use command line). TEXT("MyChildProcesses"), // Command line. NULL, // Process handle not inheritable. NULL, // Thread handle not inheritable. FALSE, // Set handle inheritance to FALSE. 0, // No creation flags. NULL, // Use parent's environment block. NULL, // Use parent's starting directory. &si, // Pointer to STARTUPINFO structure. &pi ) // Pointer to PROCESS_INFORMATION structure. ) { printf( "CreateProcess failed (%d).\n", GetLastError() ); return; } // Wait until child process exits. WaitForSingleObject( pi.hProcess, INFINITE ); // Close process and thread handles. CloseHandle( pi.hProcess ); CloseHandle( pi.hThread ); }
Habe auf der MSDN Seite dies gefunden, wenn ich anstelle von "MyChildProcesses" notepad.exe schreibe & es dann compile, startet Notepad, warum dann nicht mit iexplore.exe der Internet Explorer ? Habe auch in den Umgebungsvariablen meines PCs in der Variable Path das Verzeichniss vom Internet Explorer hinzugefügt, doch es geht trotzdem nicht, schätze ich muss den Path im Code eingeben, mit der Eingabe E:\Programme\Internet Explorer\ geschieht nichts, muss ich das in einer anderen Form eingeben unter NULL ( wo Use parent's starting directory. als Kommentar dahinter steht ), thx nochmal für eure antworten, hat mir immerhin weitergeholfen
@ Herrmann : so lässt sich es auch nicht öffnen, notepad aber schon
-
doppelte backslashes?
-
lol spinn ich jetzt oder muss ich meine brille aufziehen ?!? nach 5maligen compilieren klappt es ( mit 2xbackslashes ), grrr, aber danke trotzdem, mein problem wurde nun gelöst