Wir machen uns eine neue .au3 Datei die wir z.B. Viewer.au3 nennen. Diese öffnen wir nun mit Scite, dem AutoIt-Bearbeitungsprogramm.
Code:
#include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <INet.au3> #include <File.au3> #include <StaticConstants.au3> #include <resources.au3>
Code:
HotKeySet("{F5}", "Refresh")
Nun wollen wir erstmal den Statustext des Loginscreens herunterladen.
Code:
$alerttext = _InetGetSource ("http://status.wow-europe.com/de/alert")
Code:
$alerttext = StringReplace($alerttext, "SERVERALERT:", "") $alerttext = StringReplace($alerttext, ">", "") $alerttext = StringReplace($alerttext, "ü", "ü") $alerttext = StringReplace($alerttext, "ö", "ö") $alerttext = StringReplace($alerttext, "äß", "ä") $alerttext = StringReplace($alerttext, "ä", "ä")
öffnet seht ihr, dass da manchmal noch der Text SERVERALERT: davorsteht, damit der WoW Client diese Eingabe als Ankündigung erkennt. StringReplace ersetzt dieses durch "", also garnichts -> der Text wird entfernt.das ">" Symbol hat eine ähnliche Bedeutung, ist aber meist weiter unten und da wir dieses entfernen wollen machen wir dies auch mit StringReplace.
Da _InetGetSource Umlaute offenbar nicht erkennt, werden die Hieroglyphenartigen Zeichen einfach durch richtige Umlaute ersetzt. Nicht sehr professionell, aber es funktioniert
Code:
FileInstall("C:\bg.jpg", @TempDir & "\bg.jpg")
Code:
$hWnd = GUICreate("WoW Login Status Viewer", 500, 400)
$Pic1 = GUICtrlCreatePic(@TempDir & "\bg.jpg", 0, 0, 500, 400)
GUICtrlSetState(Default, $GUI_DISABLE)
$label = GUICtrlCreateLabel("", 10, 100, 480, 300)
GUICtrlSetBkColor(Default, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor(Default, 0xFFFFFF)
GUICtrlSetData($label, $alerttext)
GUISetState()
$label ist das Textfeld in dem der Serverstatus angezeigt wird.
GUICtrlSetBkColor macht das Label transparent, damit keine graue Box hinter dem Text ist.
GUICtrlSetColor ist die Farbe des Textes, 0xFFFFFF ist weiß, damit man es auf dem dunklen Hintergrund gut erkennt.
SetData ändert "$label" zu "$alerttext", d.h. die leere Textbox wird zum Serverstatus geändert.
Code:
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Code:
Func Refresh()
GUICtrlSetData($label, "Aktualisieren...")
$alerttext = _InetGetSource ("http://status.wow-europe.com/de/alert")
$alerttext = StringReplace($alerttext, "SERVERALERT:", "")
$alerttext = StringReplace($alerttext, ">", "")
$alerttext = StringReplace($alerttext, "ü", "ü")
$alerttext = StringReplace($alerttext, "ö", "ö")
$alerttext = StringReplace($alerttext, "äß", "ä")
$alerttext = StringReplace($alerttext, "ä", "ä")
GUICtrlSetData($label, $alerttext)
EndFunc
SetData setzt den alten Status auf "Aktualisieren...". Dann wird mit _InetGetSource wieder der aktuelle Serverstatus heruntergeladen.
Dann kommen wieder die Stringreplaces wie am Anfang.
Und das letzte SetData ersetzt das "Aktualisieren..." wieder mit der neuen Servernachricht.
Hier der ganze Code:
Code:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
#include <INet.au3>
#include <File.au3>
#include <StaticConstants.au3>
#include <resources.au3>
HotKeySet("{F5}", "Refresh")
$alerttext = _InetGetSource ("http://status.wow-europe.com/de/alert")
$alerttext = StringReplace($alerttext, "SERVERALERT:", "")
$alerttext = StringReplace($alerttext, ">", "")
$alerttext = StringReplace($alerttext, "ü", "ü")
$alerttext = StringReplace($alerttext, "ö", "ö")
$alerttext = StringReplace($alerttext, "äß", "ä")
$alerttext = StringReplace($alerttext, "ä", "ä")
FileInstall("C:\bg.jpg", @TempDir & "\bg.jpg")
$hWnd = GUICreate("WoW Login Status Viewer", 500, 400)
$Pic1 = GUICtrlCreatePic(@TempDir & "\bg.jpg", 0, 0, 500, 400)
GUICtrlSetState(Default, $GUI_DISABLE)
$label = GUICtrlCreateLabel("", 10, 100, 480, 300)
GUICtrlSetBkColor(Default, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetColor(Default, 0xFFFFFF)
GUICtrlSetData($label, $alerttext)
GUISetState()
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func Refresh()
GUICtrlSetData($label, "Aktualisieren...")
$alerttext = _InetGetSource ("http://status.wow-europe.com/de/alert")
$alerttext = StringReplace($alerttext, "SERVERALERT:", "")
$alerttext = StringReplace($alerttext, ">", "")
$alerttext = StringReplace($alerttext, "ü", "ü")
$alerttext = StringReplace($alerttext, "ö", "ö")
$alerttext = StringReplace($alerttext, "äß", "ä")
$alerttext = StringReplace($alerttext, "ä", "ä")
GUICtrlSetData($label, $alerttext)
EndFunc
Viel Spaß!






