AbBa: C++ - Popupfenster öffnen

Hallo! Wie man den Internetbrowser öffnet weiss ich.

#include <windows.h>

int main()
{
  ShellExecute(NULL, "open", "http://www.selfhtml.org", NULL, NULL, SW_SHOW);
  system("PAUSE");
  return 0;
}

Aber ich kann einfach nicht kapieren wie man einen Popup in dieser
Form öffnet!

  1. Hallo,

    #include <windows.h>

    int main()
    {
      ShellExecute(NULL, "open", "http://www.selfhtml.org", NULL, NULL, SW_SHOW);
      system("PAUSE");
      return 0;
    }

    Damit öffnest Du den jeweiligen Standardbrowser mit der Adresse http://www.selfhtml.org/ auf Windows-kompatiblen Plattformen (Microsoft Windows, ReactOS, Wine). Warum passiert das? Weil Du einen URI, der als Protokoll "http" besitzt, "öffnen" willst, was unter Windows mit der Aktion "Starte den Standardbrowser" assoziiert ist.

    Aber ich kann einfach nicht kapieren wie man einen Popup in dieser Form öffnet!

    Ich nehme an, mit Popup meinst Du ein Fenster ohne bestimmte Zusätze, die ein normales Browserfenster hat.

    Das Problem ist, dass es hierfür keinen einfachen Weg gibt, dies zu bewerkstelligen. Denn es gibt keine URI, in der Du sowas übergeben kannst. Was Du allerdings tun kannst, ist den Browser direkt aufrufen mit den entsprechenden Parametern, damit er ein Popup-Fenster öffnet.

    Das Problem ist, dass Du erst einmal herausfinden müsstest, welches denn die richtigen Parameter für die entsprechenden Browser wären (beim Firefox habe ich z.B. auf Anhieb nicht finden können, wie bzw. ob man per Kommandozeile die Statusleiste deaktivieren kann - per window.open() im Javascript geht sowas natürlich, aber dann läuft der Browser schon), ferner müsstest Du Dich dann irgendwie darauf verlassen können, dass diese Browser auch installiert sind - oder Du müsstest den Standardbrowser erkennen können oder z.B. immer auf den IE defaulten oder sonstwas, was alles sehr fehleranfällig und vmtl. auch nicht wirklich benutzerfreundlich ist.

    Warum willst Du überhaupt Popups aus Windows-Applikationen öffnen? Wenn Du nur eine HTML-Seite in einem minimalistischem Fenster anzeigen willst, könntest Du z.B. auch viel einfacher das IE-ActiveX-Control einbinden und in Deinem Programm selbst die HTML-Seite anzeigen lassen. Oder Du nutzt eine GUI-Bibliothek wie QT, die es Dir ermöglicht, HTML in bestimmten Elementen anzeigen zu lassen.

    Viele Grüße,
    Christian