Öffnen eines Programmes Universell



  • Hallo,

    Ich habe gerade seid einem Jahr C/C++ und arbeite momentan an einem privaten Projekt. Bei diesen soll sich an bestimmten Stellen zusätzlich eine selbst erstellte HTML-Page offline öffnen.

    EXTERN_C void OpenStart (void)
    {
    	STARTUPINFO si;
    	GetStartupInfo(&si);
    	PROCESS_INFORMATION pi;
    
    	CreateProcess(
    		"Pfad_zu_Firefox" ,
    		"Pfad_zu_Firefox Pfad_zu_HTML",
    		NULL,
    		NULL,
    		FALSE,
    		CREATE_NEW_CONSOLE,
    		NULL,
    		NULL,
    		&si,
    		&pi
    	);
    	CloseHandle(pi.hProcess);
    	CloseHandle(pi.hThread);
    }
    

    Das funktioniert ansich so auch, allerdings ist der Pfad_zu_Firefox nicht auf allen PC´s gleich. Ich habe mich schon umgehört und erfahren, dass man dabei auf die Registry des Programmes zugreifen muss, um den Pfad des Programmes auszulesen. Meine Frage ist nun, wie macht man das??
    Wäre für eine schnelle Hilfe sehr dankbar.



  • Nimm doch einfach ShellExecute mit dem verb "open", dann wird der Default Browser geöffnet.

    Simon



  • Den ersten Parameter von CreateProcess solltest Du immer auf NULL belassen. Und der zweite muss beschreibbar sein!

    Aber ab Vista rate ich Dir dazu "ShellExecute" zu verwenden, da nur so ein UAC-Dialog konmmt, wenn erforderlich!


Anmelden zum Antworten