url im Standart Browser öffnen und schließen.

  • VB.NET

Es gibt 37 Antworten in diesem Thema. Der letzte Beitrag () ist von Proggi.

    url im Standart Browser öffnen und schließen.

    Hallo,
    arbeite an ienem Programm. Hab nach dem Problem auch shcon gegooglet allerdings kommt das nur wie man Prozesse wie Programme starten und beendet. Ich will eine url mit dme Standtart Browser öffnen. Soweit bin ich soo gehts aber nicht.

    VB.NET-Quellcode

    1. Dim oProcess As New Process
    2. oProcess = System.Diagnostics.Process.Start("http://www.beispiel.de")
    3. If oProcess.WaitForExit(5000) = False Then
    4. oProcess.Kill()
    5. End If


    Es wird zwar vom dem Ausführen nichts nagezeigt aber wenn cih es ausfür wird die stelle:

    VB.NET-Quellcode

    1. If oProcess.WaitForExit(5000) = False Then

    Gelb makiert und der Standertbrowser schließt nicht von alleine.
    ja schon also mit z.b dem notpad.exe geht es. Aber mit ner url ned sie wird zwar im Stadartbrowser geöffnet aber schließt nicht. Mit dem notpad.exe geht es soo das wenn der Benutzer es nichts schließt es nach 5000 milisec. schließt es von alleine aber mit ner url geht das nicht.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Proggi“ ()

    ok danke aber was läuft dann da falsch???

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    3. Dim ExterneAnwendung As New System.Diagnostics.Process()
    4. ExterneAnwendung.StartInfo.FileName = "http://www.beispiel.de"
    5. ExterneAnwendung.Start()
    6. Timer1.Start()
    7. End Sub
    8. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    9. Dim ExterneAwendung As System.Diagnostics.Process()
    10. ExterneAnwendung.Kill()
    11. End Sub
    12. End Class
    Versuchs mal so:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim ExterneAnwendung As System.Diagnostics.Process()
    3. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4. Set ExterneAnwendung = New System.Diagnostics.Process()
    5. ExterneAnwendung.StartInfo.FileName = "http://www.beispiel.de"
    6. ExterneAnwendung.Start()
    7. Timer1.Start()
    8. End Sub
    9. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    10. ExterneAnwendung.Kill()
    11. End Sub
    12. End Class
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau
    1 setzt die Zeit das kannst du zu Entwicklungszeit einstellen z.b 600 ist 60s

    2 Setzte das Eigeschaft "Enabled" von Timer auf "False"

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private ExterneAnwendung As New System.Diagnostics.Process()
    3. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4. ExterneAnwendung.StartInfo.FileName = "http://www.beispiel.de"
    5. ExterneAnwendung.Start()
    6. Timer1.Enabled = True
    7. Timer1.Start()
    8. End Sub
    9. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    10. If Timer1.Enabled = True Then ExterneAnwendung.Kill()
    11. End Sub
    12. End Class


    ich hab nicht probiert aber die logik muß schon stimmen !

    Mfg Alex
    er braucht den timer nicht, es liegt einfach daran, das

    "http://www.beispiel.de"

    kein prozess ist...und das bemängelt vb auch mit der meldung

    das kein prozess zugeordnet wurde, und somit nichts beendet werden kann

    PS: debuggn ist so eine feine sache
    das problem hab ich dir gerade gesagt

    eine url addresse ist kein prozess, der zugeordnet werden kann...vb weis zwar damit umzugehen, und öffnet den entsprechenden browser....hört aber auf zu denken, wenns darum geht, den browser als prozess zuzuordnen

    deswegen klappt das auch mit notepad, weil das ein prozess ist, die url jedoch nicht

    eine lösung wäre, den prozess einfach so zu starten, und dann nach einem prozess suchst, der auf einen browser hindeutet, wie IE, safari, firefox...

    jedoch hast du hier einproblem, welches du auch so hättest.....

    wenn ich zum beispiel einfach deinen code nehm, startet er den firefox mit der seite, doch habe ich einen browser auf, öffnet er einfach nur ein neues tab, und würde dann der komplette firefox zugehen, wär das programm schlichtweg sch****

    also lass das lieber :P
    also das Antwort von doci fehlt mir schwer zu glauben, sonst hätte keine Beispiel Code gegeben.

    Versuche es damit:

    VB.NET-Quellcode

    1. 'Anwendung starten
    2. Browser = New InternetExplorer()
    3. Browser.Visible = True
    4. Browser.GoHome()
    5. procs = Process.GetProcessesByName("IEXPLORE")
    6. 'Ermittel ob die Anwendung reagiert
    7. Try
    8. If procs(0).Responding = True Then
    9. MessageBox.Show("IEXPLORE is responding")
    10. Else
    11. MessageBox.Show("IEXPLORE is not responding")
    12. End If
    13. Catch
    14. MessageBox.Show("IEXPLORE is not running")
    15. End Try
    16. 'Anwendung nach bestimmte zeit schliessen
    17. 'Die Code schreibst in Ereignis von Timer
    18. Try
    19. If procs(0).Responding Then
    20. procs(0).CloseMainWindow()
    21. Else
    22. 'Force closure.
    23. procs(0).Kill()
    24. End If
    25. Catch notRunning As Exception When Err.Number = 91
    26. MessageBox.Show("Could Not Find the IEXPLORE Process")
    27. End Try


    ____

    sollte die Anwendung nicht mehr reagieren kannst die Methode "Kill" aufrufen !

    Mfg Alex

    Edit by Agent: Keine Doppelposts! Es gibt eine Bearbeitenfunktion!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Agent“ ()

    in deinem beispiel suchst du speziell nach dem IE....
    natürlich kannst du den beenden....nur eben wie gesagt, ich nutze firefox, und wenn der offen ist, und er mit seinem code ein neues tab öffnet, und dann den prozess wieder schliest, schliest er mir den ganzen firefox