• 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
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <WindowsConstants.au3>
    #include <_Win_SetClickThrough.au3>
    #include <IE.au3>
    #include <Array.au3>
    #include <EditConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    HotKeySet("^{END}", "_myExit")
    HotKeySet("^{F12}", "_ClickThrough")

    [/autoit] [autoit][/autoit] [autoit]

    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)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW, $Form1)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    $oIE = _IECreateEmbedded ()
    $tempForm = GUICreate("Temp")
    $GUIActiveX = GUICtrlCreateObj($oIE, 10, 40, 600, 360)
    _IENavigate ($oIE, "http://www.autoit.de")

    [/autoit] [autoit][/autoit] [autoit]

    _GetShout()

    [/autoit] [autoit][/autoit] [autoit]

    While Sleep(1000)
    _GetShout()
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _GetShout()
    _IEAction ($oIE, "refresh")

    [/autoit] [autoit][/autoit] [autoit]

    $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)

    [/autoit] [autoit][/autoit] [autoit]

    ;~ $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

    [/autoit] [autoit][/autoit] [autoit]

    ControlSetText($Form1,"",$myedit,$buff)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _myExit()
    Exit
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _ClickThrough()
    _Win_SetClickThrough($Form1, $TRANSP, $click)
    If $click == True Then
    $click = False
    Else
    $click = True
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]

    EDIT: grad gesehn das Greek und Prog@andy sowas ähnliches haben...^^
    ich schau mir das mal genauer an^^

    2 Mal editiert, zuletzt von Kijan (5. Juni 2010 um 12:00)

  • ein kleines beispiel mit dem bewegen^^
    (zu simpel für mich + black_scorpi) ist von oscar

    Spoiler anzeigen
    [autoit]

    #include <WindowsConstants.au3>
    $hGui = GUICreate('Test', 600, 400, -1, -1, $WS_POPUP, $WS_EX_CONTROLPARENT)
    GUISetBkColor(0xff0000)
    GUISetState()
    Do
    Until GUIGetMsg() = -3

    [/autoit]