Browser aufrufen und wieder schliessen

  • Allgemein

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von Trade.

    Browser aufrufen und wieder schliessen

    Hallo Leute!

    Ich habe folgendes Problem:

    Es soll nach einem Klick auf Button1 eine Webseite im Firefox geöffnet werden. URL ist fest eingetragen und lediglich eine Variable wird aus TextBox1 der URL angehängt.
    Dieser Aufruf ändert einen Wert (aus TextBox1) in einer Steuerzentrale (Homematic). Das funktioniert auch wunderbar.

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    3. Shell("D:\Program Files (x86)\Mozilla\firefox.exe " & "http://192.168.45.200/addons/db/state.cgi?item=1339=Gasverbrauch&dp=STATE&value=" & TextBox1.Text)
    4. Timer1.start()
    5. End Sub
    6. End Class





    Allerdings möchte ich nun nach dem Aufruf der Seite ca. 5 Sekunden warten und dann diese Seite wieder schliessen (oder von mir aus den Browser komplett, falls mehrere Tabs offen sind)
    Timer1 ist also auf 5 Sek. eingestellt. Und jetzt???

    Ich hoffe, hier kann jemand helfen?!

    Danke schonmal!
    Erstell dir ne Instanz der Process-Klasse und starte mit dieser ​"http://192.168.45.200/addons/db/state.cgi?item=1339=Gasverbrauch&dp=STATE&value=" (firefox musste dafür nicht benutzen, so wird der Standardbrowser ausgewählt). Über die Instanz der Process-Klasse kannst du dann das Fenster wieder schließen.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    So gehts!

    Ganz ohne Browser.....

    Danke trotzdem.......

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    3. Dim oRequest As Object
    4. oRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
    5. oRequest.Open("GET", "http://192.168.45.200/addons/db/state.cgi?item=1339=Gasverbrauch&dp=STATE&value=" & TextBox1.Text)
    6. oRequest.Send()
    7. Me.Close()
    8. End Sub
    9. End Class
    Aua. Option Strict On und verwende bitte die Process-Klasse.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Wo hängt es denn?
    Nur deshalb hast Du aufgegeben und Dich für die Variante entschieden, die Ranz ist? Warum hast Du denn nicht gefragt?
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Hi Trade!

    Ich hab ja nach nem Beispiel-Code gefragt, da ich als Anfänger so meine Schwierigkeiten mit den Microsoft-Docs habe. Um das zu verstehen, fehlt mir die Routine mit VB, etc.!

    Was ist das Problem mit meiner Lösung?
    @Trade , es scheint ihm garnicht darum zu gehen eine Website zu öffnen, sondern einen Request zu senden.

    @iOS78 schreib mal bitte genau was du willst. So wie es mir scheint, willst du einen Get-Request an eine WEbsite schicken. Und dazu brauchst du ganz sicher nicht CreateObject (aua) sondern halt den System.Net.HttpWebRequest
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais
    Hi "ThePlexian"!

    Richtig, das öffnen der Site ist mir wurscht....

    Also, wie bereits geschrieben wird mit dem Aufruf der Webseite (der URL) eine Variable in einer Haussteuerung aktualisiert.
    Diese Variable ist hier in TextBox1.

    Mehr nicht! ;)
    Das Problem bei Deiner Lösung ist, dass die nicht -NET-konform ist.
    Du arbeitest mit Objects, mach' mal Option Strict On, wie ich sagte.

    google.de/url?sa=t&rct=j&q=&es…cQw&bvm=bv.76802529,d.bGQ

    Dann siehst Du, dass Du hier "Spätes Binden" betreibst. Objects sind einfach ungut, da das hier keinesfalls typisiert ist etc.
    Arbeite mit (Http)WebRequests.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!: