HTML Seite mit Standardbrowser öffnen - wie?



  • Hallo!

    Ich möchte aus einem mit VC++ 6.0 Projekt heraus, eine HTML Seite (ein Helpfile) mit dem Standardbrowser öffnen. Derzeit muss das Ganze nur unter Win 2000 und XP laufen - aber für eine spätere Portierung auf Linux, wäre ein Ansi C++ Befehl schön (wenn es sowas gibt).

    Vielen Dank im Voraus!



  • Fällt mir nur system ein. Das ganze wird aber auch Plattformabhängig.

    Schreib Dir nen Objekt das diese Aufgabe übernimmt und tausche es bei bedarf aus.

    z.b. mit hilfe von virtual:

    struct openHTMLSite
    {
       virtual void open(const std::string & url)
    };
    
    struct openHTMLOnWindows : public openHTMLSite
    {
       open(const std::string & url)
       {
        // Seite unter windows öffnen
       }
    }
    
    struct openHTMLOnLinux : public openHTMLSite
    {
       open(const std::string & url)
       {
        // Seite unter Linux öffnen
       }
    }
    
    void openHTML(openHTMLSite * opener)
    {
       opener->open("file:///DeineSeite.html);
    }
    
    //...
      openHTMLSite openerL = new openHTMLOnLinux;
      openHTMLSite openerW = new openHTMLOnWindows;
    
     opener(openerL);
     opener(openerW);
    

    //...

    Nu haste eine Portable Funktion die die Seite öffnen soll aber auf das OS spezialisierte Objekte die beliebig ausgetauscht werden können solange sie von openHTMLSite erben.



  • Achim Nickel schrieb:

    Ich möchte aus einem mit VC++ 6.0 Projekt heraus, eine HTML Seite (ein Helpfile) mit dem Standardbrowser öffnen. Derzeit muss das Ganze nur unter Win 2000 und XP laufen - aber für eine spätere Portierung auf Linux, wäre ein Ansi C++ Befehl schön (wenn es sowas gibt).

    Es gibt keine Standard-C++ Funktion, die den Standard-Browser öffnet. Es gibt nichtmal unter jedem BS eine solche Funktion, da es das Konzept des Standard-Browers nicht überall gibt.

    Unter Win kannst du die WinAPI-Funktion ShellExecute verwenden.
    Mehr dazu im WinAPI-Forum.
    ->




Anmelden zum Antworten