Huhu ihrs
Ich bin grad dabei, die Shoutbox als extra Fenster mit Transparenz, on Top und verschiebbar zu machen.
zZ bin ich so weit das ich den inhalt der Shoutbox bekomme und dann in ein inputfeld ausgebe.
Ich kann den chat bewegen wenn ich draufklicke.
Mit STRG+ENDE beende ich das skript und mit STRG+F12 mach ich das Fenster Durchklickbar^^
Ich will das jetzt noch shcöner machen^^
noch ma ne Frage:
Wie kann ich die Quelltext auslesen ohne die seite komplett aufbauen zu lassen? geht das?
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <WindowsConstants.au3>
#include <_Win_SetClickThrough.au3>
#include <IE.au3>
#include <Array.au3>
#include <EditConstants.au3>
HotKeySet("^{END}", "_myExit")
HotKeySet("^{F12}", "_ClickThrough")
Global Const $TRANSP = 150
Global $click = True
_IEErrorHandlerRegister ()
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Shoutbox", 500, 300, 192, 124, BitOR($WS_POPUP, $WS_BORDER), BitOR($WS_EX_TRANSPARENT,$WS_EX_WINDOWEDGE))
;~ GUISetFont(6)
WinSetOnTop("Shoutbox","",1)
$Label1 = GUICtrlCreateLabel("", 0, 0, 484, 300,"",$GUI_WS_EX_PARENTDRAG)
$myedit = GUICtrlCreateEdit("", 0, 0, 500, 300, $ES_AUTOVSCROLL + $WS_VSCROLL + $ES_READONLY)
_Win_SetClickThrough($Form1, $TRANSP, False)
GUISetState(@SW_SHOW, $Form1)
#EndRegion ### END Koda GUI section ###
$oIE = _IECreateEmbedded ()
$tempForm = GUICreate("Temp")
$GUIActiveX = GUICtrlCreateObj($oIE, 10, 40, 600, 360)
_IENavigate ($oIE, "http://www.autoit.de")
_GetShout()
[/autoit] [autoit][/autoit] [autoit]While Sleep(1000)
_GetShout()
WEnd
Func _GetShout()
_IEAction ($oIE, "refresh")
$html = _IEBodyReadHTML($oIE)
[/autoit] [autoit][/autoit] [autoit]$begin = StringInStr($html,"var shoutboxEntries = new Hash();")
$end = StringInStr($html,"onloadEvents.push(function() {")
$shouttext = StringMid($html,$begin,$end-$begin)
;~ $user = StringRegExp($shouttext,"username:[a-zA-Z 0-9'<>#=""\/\\\-\*@\,\.\:\;]+", 3)
$user = StringRegExp($shouttext,"username:[[:print:]äöüÄÖÜß]+'", 3)
;~ $message = StringRegExp($shouttext,"message:[a-zA-Z 0-9'<>#=""\/\\\-\*@\,\.\:\;]+", 3)
$message = StringRegExp($shouttext,"message:[[:print:]äöüÄÖÜß]+", 3)
;~ _ArrayDisplay($user)
;~ _ArrayDisplay($message)
$buff = ""
For $i = 0 To UBound($user)-1
If StringInStr($user[$i],"<") <> 0 Then
$tempend = StringInStr($user[$i],"<\/font>")
$tempbegin = StringInStr($user[$i],""">")
$user[$i] = StringMid($user[$i],$tempbegin + 2,$tempend-$tempbegin - 2)
Else
$tempbegin = StringInStr($user[$i],"'")
$tempend = StringInStr($user[$i],"'",0,-1)
$user[$i] = StringMid($user[$i],$tempbegin+1,$tempend-$tempbegin-1)
EndIf
$message[$i] = StringTrimLeft($message[$i],10)
$buff = $buff & $user[$i] &": "& $message[$i] & @CRLF
Next
ControlSetText($Form1,"",$myedit,$buff)
EndFunc
Func _myExit()
Exit
EndFunc
Func _ClickThrough()
_Win_SetClickThrough($Form1, $TRANSP, $click)
If $click == True Then
$click = False
Else
$click = True
EndIf
EndFunc
[/autoit] [autoit][/autoit] [autoit][/autoit]EDIT: grad gesehn das Greek und Prog@andy sowas ähnliches haben...^^
ich schau mir das mal genauer an^^