hallo liebe vb paradise gemeinde,
habe mal einen webbot programmiert, der sich automtisch in hotmail einloggt und mir die anzahl der ungeleseen emails anzeigt.
Funktioniert auch alles ganz gut nur liegt die cpu auslastung beim abfragen bei 40 - 50%
Habe schon gelesen das es an meiner Pause Funktion liegen könnte doch kann ich auf diese nicht so leicht verzichten, weil er ja schließlich die verbindung erstmal aufbauen muss.
hat jemand vielleicht eine Lösungsansatz oder eine Idee woran es liegt.
Hier erstmal den Code
P.S. Habe einen Teil des Codes von Sempervideo.de und ihn in sofern erweitert das es nun automatisiert abläuft.
Wer möchte kann das Programm ja noch nach seinen Vorstellungen anpassen und selbst nutzen
habe mal einen webbot programmiert, der sich automtisch in hotmail einloggt und mir die anzahl der ungeleseen emails anzeigt.
Funktioniert auch alles ganz gut nur liegt die cpu auslastung beim abfragen bei 40 - 50%
Habe schon gelesen das es an meiner Pause Funktion liegen könnte doch kann ich auf diese nicht so leicht verzichten, weil er ja schließlich die verbindung erstmal aufbauen muss.
hat jemand vielleicht eine Lösungsansatz oder eine Idee woran es liegt.
Hier erstmal den Code
VB.NET-Quellcode
- Public Class Form1
- Public Sub Pause(ByVal Milliseconds As Integer)
- Dim dTimer As Date
- dTimer = Now.AddMilliseconds(Milliseconds)
- Do While dTimer > Now
- Application.DoEvents()
- Loop
- End Sub
- Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
- e.Cancel = True
- Me.Hide()
- Me.ShowInTaskbar = False
- End Sub
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- Me.Hide()
- Me.Visible = False
- Me.ShowInTaskbar = False
- Me.Opacity = 0
- Timer1.Interval = 30000 ' zum testen erstmal auf 30 sec
- Timer1.Start()
- Try
- WebBrowser1.Navigate("http://www.hotmail.de")
- Application.DoEvents()
- Do While WebBrowser1.ReadyState <> WebBrowserReadyState.Complete
- Application.DoEvents()
- Loop
- WebBrowser1.Refresh()
- Pause(2500)
- WebBrowser1.Document.GetElementById("i0116").InnerText = "email"
- WebBrowser1.Document.GetElementById("i0118").InnerText = "passw"
- WebBrowser1.Document.GetElementById("SI").InvokeMember("click")
- Dim emails
- Pause(2500)
- emails = WebBrowser1.Document.GetElementById("h_newMsgs").OuterText
- MsgBox(emails)
- Catch ex As Exception
- MsgBox("Es ist ein Fehler aufgetreten, das Programm wird beendet.", vbCritical)
- Me.Close()
- End Try
- End Sub
- Private Sub FormAnzeigenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FormAnzeigenToolStripMenuItem.Click
- Me.Show()
- Me.Opacity = 1
- Me.ShowInTaskbar = True
- End Sub
- Private Sub ProgrammBeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProgrammBeendenToolStripMenuItem.Click
- NotifyIcon1.Dispose()
- End
- End Sub
- Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
- Try
- WebBrowser1.Refresh()
- Pause(5000)
- Dim emails
- emails = WebBrowser1.Document.GetElementById("h_newMsgs").OuterText
- MsgBox(emails)
- Catch ex As Exception
- MsgBox("Es ist ein Fehler aufgetreten, das Programm wird beendet.", vbCritical)
- Me.Close()
- End Try
- End Sub
- End Class
P.S. Habe einen Teil des Codes von Sempervideo.de und ihn in sofern erweitert das es nun automatisiert abläuft.
Wer möchte kann das Programm ja noch nach seinen Vorstellungen anpassen und selbst nutzen