Announcement

Collapse
No announcement yet.

Browserrückmeldung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Browserrückmeldung

    Hallo<br>
    Gibt es die Möglichkeit, wenn ich den Browser aufrufe mit<br>
    ShellExecute(0,"open","http://www.blabla.php",0,0,SW_SHOW);<br>
    des ich eine Rückmeldung bekomme wann das Script fertig ist?<br>
    Sinn der ganzen Sache ist es, in einer Schleife Scripte auszurufen, es soll aber keines übersprungen werden.<br><br>
    Grüße Stefan

  • #2
    Wenn, geht das wohl nur über eine DDE-Verbindung die den Browser abfragt. Weiß jetzt aber nicht, ob der Browser so eine Information per DDE rausgibt.

    Als Lösung würde mir nur einfallen, das Script nicht per Shellexecute aufzurufen, sondern per DDE an den Browser senden. Dann eine Zeit warten, nächstes Script senden.

    Wird nicht bei mehrmaligem Aufruf mit Shellexecute jedesmal ein neues Fenster geöffnet??

    DDE-Code:

    <pre>
    String ergebnis;
    TDdeClientConv* dde=new TDdeClientConv(this);
    //Explorer
    dde->SetLink("IExplore","WWW_OpenURL");
    //Netscape
    dde->SetLink("netscape","WWW_OpenURL");
    //Opera
    dde->SetLink("opera","WWW_OpenURL");
    ergebnis=dde->RequestData("Dein_Script"+",,0xffffffff,0x0,,,,") ;
    delete dde;

    </pre>
    Hier ist ein Demo-Programm, welches den Browser über DDE steuert:

    http://home.snafu.de/christian.marquardt/programme.4/4_urlchecker.htm
    Christian

    Comment


    • #3
      Hallo Christian<br>
      Vielen Dank. Werde dies heute mittag mal ausprobieren.<br>
      Mit ShellExecute wird der Browser nur einmal aufgerufen. Wenn ich den Browser mit der Hand aufrufe und die Scripte auf meinen eignen Server laufen ist das kein Problem. Dies habe ich mit 10000 Sätzen schon probiert. Öffne ich allerdings den Browser nicht fehlen die ersten 20-50. Und über Internet werden die Probleme war scheinlich noch größer. Ich Probiere es mal aus und schreibe das Ergebnis wieder rein.<br>Grüße Stefa

      Comment


      • #4
        Hallo Christian<br>
        Soweit so gut. der Sache komme ich ein wenig näher<br>
        Ich habe mir das Ergebnis in einem Memo angeschaut, kommt aber immer byyy.<br>
        void __fastcall TForm1::Button1Click(TObject *Sender)<br>
        {<br>
        Memo1->Clear();<br>
        String ergebnis;<br>
        TDdeClientConv* dde=new TDdeClientConv(this);<br>
        //Explorer<br>
        dde->SetLink("IExplore","WWW_OpenURL");<br>
        //Netscape<br>
        //dde->SetLink("netscape","WWW_OpenURL");<br>
        //Opera<br>
        //dde->SetLink("opera","WWW_OpenURL");<br>
        ergebnis=dde->RequestData("www.google.de"",,0xffffffff,0x0,,,," );<br>
        Memo1->Text=ergebnis;<br>
        delete dde;<br>
        }<br><br>Das + nach der IAdresse mozt mein Rechner.<br>
        Kann man die Rückmeldung irgendwie devinieren oder muß man damit leben, daß ich die Meldung löschen muß und wieder drauf warten muß in der Schleife.<br>
        Vielen Dank und Grüße Stefa

        Comment


        • #5
          Plus war Fehler von mir.

          Nein der Ergebnis - String hat nix zu sagen (bin das aber auch noch am graben)

          Mußt einen Timer setzen oder mit Sleep(x) warten und dann nächster Aufruf.

          Ev. Suchbegriffe im Internet sind IE DDE TOPIC usw
          Christian

          Comment


          • #6
            Hallo Christian<br>
            Ich habe mir heute Mittag den Kopf darüber zerbrochen und habe eine brauchbare Lösung gefunden<br>
            Man nehme CPPWebBrowser und rufe damit seine URL auf.<br>
            Vorteil 1 man braucht keinen Browser( fast da auf die dll von IE zugriffen wird)<br>
            Die Scripte kann man in der eigenen Software anzeigen lassen oder mit Visible unterdrücken<br>
            Vorteil 2 Mit den Ereignissen kann ich mit "OnDownloadComplete" die URL in einen String schreiben.<br>
            Da durch die aufgerufen Scripte die URL immer Unterschiedlich sind(kann auch hoch und runter zählen einer Zahl sein) kann ich vor dem Weitermachen abfragen, ob der eingegebene und der zurückgegeben String der gleiche ist........<br><br>
            Grüße Stefa

            Comment


            • #7
              Kannst, wenn der IE installiert ist, auch diesen als ActiveX einbinden
              Christian

              Comment

              Working...
              X