Little Webbrowser :D

  • Also hallo ich habe einen kleinen Webbrowser geschrieben der auf der IE.au3 basiert. So das ist ja alles ganz einfach nun möchte ich aber eine Art Jugendschutz reinmachen. Und zwar will ich das er sich den Quellcode der Aktuellen Seite nimmt und diesen nach bestimmten Wörtern durchsucht :D.wenn er was findet soll er auf eine leere Seite gehen also auf about:blank. Desweiteren soll er eine ini erstellen wo dann die Seiten die versucht worden aufzusuchen reingeschrieben wird also die adresse.außerdem soll in der selben oder in einer anderen ini die suchwörter stehen.Sry bin erst anfäner^^. So hier erstmal mein code :

    [autoit]

    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <IE.au3>
    #include <INET.au3>

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

    $IE = _IECreateEmbedded ()

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

    #Region ### START Koda GUI section ### Form=c:\users\killax2x\desktop\browser.kxf
    $Form1_1 = GUICreate("Little Webbrowser made by killax2x based on the Internet Explorer", 1316, 759, 183, 107)
    GUISetStyle ($WS_BORDER)
    $adress = GUICtrlCreateInput("www.google.de", 208, 48, 521, 21)
    $Label1 = GUICtrlCreateLabel("Web Adresse:", 80, 48, 104, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $go = GUICtrlCreateButton("Go!", 744, 48, 129, 25, 0)
    $home = GUICtrlCreateButton("Home", 888, 48, 129, 25, 0)
    $inet = GUICtrlCreateObj($IE,0, 104, 1313, 665)
    $refresh = GUICtrlCreateButton("Aktualisieren", 208, 72, 113, 25, 0)
    $print = GUICtrlCreateButton("Drucken", 616, 72, 113, 25, 0)
    $save = GUICtrlCreateButton("Seite speichern", 328, 72, 281, 25, 0)
    $exit = GUICtrlCreateButton("Beenden", 1096, 16, 193, 33, 0)
    $back = GUICtrlCreateButton("<----", 56, 8, 81, 25, 0)
    $next = GUICtrlCreateButton("---->", 144, 8, 81, 25, 0)
    $datei = GUICtrlCreateMenu("&Datei")
    $credits = GUICtrlCreateMenuItem("Credits", $datei)
    $contact = GUICtrlCreateMenuItem("Kontakt", $datei)
    $quell = GUICtrlCreateMenuItem("Seitenquellcode anzeigen", $datei)
    $email = GUICtrlCreateMenuItem("Emailprogramm starten", $datei)
    $end = GUICtrlCreateMenuItem("Beenden", $datei)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    _IENavigate ($IE,"www.google.de")

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $go
    $url = GUICtrlRead ($adress)
    _IENavigate ($IE,$url)
    Case $home
    _IENavigate ($IE,"www.google.de")
    Case $refresh
    _IEAction ($IE,"refresh")
    Case $print
    _IEAction ($IE,"print")
    Case $save
    _IEAction ($IE,"saveas")
    Case $contact
    MsgBox (0,"Kontakt","Email: daniel_belz@gmx.net")
    Case $credits
    MsgBox (0,"Credits","Little Webbrowser made by killax2x.Webbrowser is based of the Internet Explorer")
    Case $end
    Exit
    Case $back
    _IEAction($IE,"back")
    Case $next
    _IEAction($IE,"forward")
    Case $quell
    $sHTML = _IEDocReadHTML ($IE)
    MsgBox(0, "Quelltext", $sHTML)
    Case $email
    $Address = InputBox('Adresse', 'Gib die E-Mail-Adresse des Empfängers ein:')
    $Subject = InputBox('Betreff', 'Gib einen Betreff für die E-Mail ein:')
    $Body = InputBox('Inhalt', 'Gib den Inhalt der E-Mail-Nachricht ein:')
    MsgBox(0, 'Das E-Mail-Programm wurde geöffnet', 'Das E-Mail-Programm wurde geöffnet, dessen Prozess-ID lautet: ' & _INetMail($Address, $Subject, $Body))

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

    Case $exit
    Exit
    EndSwitch
    WEnd

    [/autoit]

    So hatte vergessen die *.au3 anzuhängen :D

  • Ist ja schonmal ein ehrgeiziges Projekt :thumbup:
    Ich würde dir die Funktion _IEBodyReadText empfehlen...

    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • Hab hier schon mal angefangen...
    (Nur nachschauen, wenn du es nicht schaffst)

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <IE.au3>
    #include <INET.au3>

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

    Dim $array[1000]
    $zahl = IniRead(@ScriptDir & "\Jugendschutz.ini","Zahl","Zahl","0")
    If $zahl <> 0 Then
    For $i = 1 To $zahl
    $array[$i] = IniRead(@ScriptDir & "\Jugendschutz.ini","VerboteneSeiten",$i,"")
    Next
    EndIf

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

    $IE = _IECreateEmbedded ()

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

    #Region ### START Koda GUI section ### Form=c:\users\killax2x\desktop\browser.kxf
    $Form1_1 = GUICreate("Little Webbrowser made by killax2x based on the Internet Explorer", 1316, 759, 183, 107)
    GUISetStyle ($WS_BORDER)
    $adress = GUICtrlCreateInput("www.google.de", 208, 48, 521, 21)
    $Label1 = GUICtrlCreateLabel("Web Adresse:", 80, 48, 104, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $go = GUICtrlCreateButton("Go!", 744, 48, 129, 25, 0)
    $home = GUICtrlCreateButton("Home", 888, 48, 129, 25, 0)
    $inet = GUICtrlCreateObj($IE,0, 104, 1313, 665)
    $refresh = GUICtrlCreateButton("Aktualisieren", 208, 72, 113, 25, 0)
    $print = GUICtrlCreateButton("Drucken", 616, 72, 113, 25, 0)
    $save = GUICtrlCreateButton("Seite speichern", 328, 72, 281, 25, 0)
    $exit = GUICtrlCreateButton("Beenden", 1096, 16, 193, 33, 0)
    $back = GUICtrlCreateButton("<----", 56, 8, 81, 25, 0)
    $next = GUICtrlCreateButton("---->", 144, 8, 81, 25, 0)
    $datei = GUICtrlCreateMenu("&Datei")
    $credits = GUICtrlCreateMenuItem("Credits", $datei)
    $contact = GUICtrlCreateMenuItem("Kontakt", $datei)
    $quell = GUICtrlCreateMenuItem("Seitenquellcode anzeigen", $datei)
    $email = GUICtrlCreateMenuItem("Emailprogramm starten", $datei)
    $end = GUICtrlCreateMenuItem("Beenden", $datei)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    _IENavigate ($IE,"www.google.de")

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $go
    $url = GUICtrlRead ($adress)
    _IENavigate ($IE,$url)
    $f = _IEBodyReadText($IE)
    $g = StringInStr($f,"google")
    For $i = 1 to $zahl
    If _IEAttach("","URL") == $array[$i] Then
    _IENavigate($IE,"about:blank")
    EndIf
    Next
    If $g <> 0 Then
    IniWrite(@ScriptDir & "\Jugendschutz.ini","VerboteneSeiten",$zahl,_IEAttach("","URL"))
    $zahl = $zahl + 1
    IniWrite(@ScriptDir & "\Jugendschutz.ini","Zahl","Zahl",$zahl)
    _IENavigate($IE,"about:blank")
    $array[$zahl] = _IEAttach("","URL")
    EndIf
    For $i = 1 to $zahl
    If _IEAttach("","URL") == $array[$i] Then
    _IENavigate($IE,"about:blank")
    EndIf
    Next
    Case $home
    _IENavigate ($IE,"www.google.de")
    Case $refresh
    _IEAction ($IE,"refresh")
    Case $print
    _IEAction ($IE,"print")
    Case $save
    _IEAction ($IE,"saveas")
    Case $contact
    MsgBox (0,"Kontakt","Email: daniel_belz@gmx.net")
    Case $credits
    MsgBox (0,"Credits","Little Webbrowser made by killax2x.Webbrowser is based of the Internet Explorer")
    Case $end
    Exit
    Case $back
    _IEAction($IE,"back")
    Case $next
    _IEAction($IE,"forward")
    Case $quell
    $sHTML = _IEDocReadHTML ($IE)
    MsgBox(0, "Quelltext", $sHTML)
    Case $email
    $Address = InputBox('Adresse', 'Gib die E-Mail-Adresse des Empfängers ein:')
    $Subject = InputBox('Betreff', 'Gib einen Betreff für die E-Mail ein:')
    $Body = InputBox('Inhalt', 'Gib den Inhalt der E-Mail-Nachricht ein:')
    MsgBox(0, 'Das E-Mail-Programm wurde geöffnet', 'Das E-Mail-Programm wurde geöffnet, dessen Prozess-ID lautet: ' & _INetMail($Address, $Subject, $Body))

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

    Case $exit
    Exit
    EndSwitch
    WEnd

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


    Is jetzt nicht die eleganteste Lösung, klappt aber.

    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

    Einmal editiert, zuletzt von cartan12 (7. Januar 2010 um 19:19)

  • hey thx werde es aber wirklich erstmal selber probieren.wenn ich nicht weiterkomme gucke ich da rein.Thx an dich :)Achja und nochwas ich habe das problem das ich es nicht hinbekomme das wenn die seite sich ändert auch das was in der inputbox ist anderst wird.Also wenn ich auf google bin und dann auf wikipedia gehe dann steht da immer noch https://autoit.de/www.google.de

  • Achja und nochwas ich habe das problem das ich es nicht hinbekomme das wenn die seite sich ändert auch das was in der inputbox ist anderst wird.Also wenn ich auf google bin und dann auf wikipedia gehe dann steht da immer noch https://autoit.de/www.google.de

    GUICtrlSetData($Input,_IEPropertyGet("locationurl"))

  • thx erstmal für die tatkräftige unterstützung :)
    so habe das nun geschafft mit der aktuellen adresse danke an SEuBo :)
    und ebenfalls dank an cartan12 :)

    So noch was :D also:
    Ich habe zwei weitere GUIs geschrieben um Suchwörter und/oder Websites zu der Jugendschutzseite hinzuzufügen.Das Problem ist nun das er die alten sachen in der Datei überschreibt das will ich aber nicht!^^
    Kann man das ändern?
    achja der Webbrowser selber erstellt die ini datei mit den sektionen

  • So:

    1.Suchwörter:

    [autoit]

    #include <GUIConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Suchwörter hinzufügen", 625, 443, 193, 125)
    $save = GUICtrlCreateButton("Speichern", 136, 392, 345, 41, 0)
    $edit = GUICtrlCreateEdit("",8, 8, 601, 377)
    GUISetState(@SW_SHOW)
    MsgBox (0,"Info","Schreibe in die leere EditBox neue Suchwörter hinein um den Schutz zu verfeinern. Diese Wörter werden in einer Datei gespeichert. Wenn zb ihr Kind eine Website besucht nimmt sich der Browser den Quellcode und überprüft ob eines der Suchwörter im Quellcode vorkommt. Wenn ja leitet der Browser ihr Kind auf eine leere Seite weiter.")
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $save
    $edit2 = GUICtrlRead($edit)

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

    exit

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

    EndSwitch
    WEnd

    [/autoit]

    2.Webseiten:

    [autoit]

    #include <GUIConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Neue Internetadressen eingeben", 625, 443, 193, 125)
    $save = GUICtrlCreateButton("Speichern", 136, 392, 361, 41, 0)
    GUICtrlCreateEdit("", 8, 8, 609, 377)
    GUISetState(@SW_SHOW)
    MsgBox(0,"Info","Geben sie hier Websites ein die gesperrt werden sollen")
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $save

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

    EndSwitch
    WEnd

    [/autoit]

    3.Browser insgesamt:

    [autoit]

    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <IE.au3>
    #include <INET.au3>
    #include <File.au3>

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

    IniWrite("JG.ini","Suchwörter","Wörter","nix")
    IniWrite("JG.ini","VerboteneSeiten","Sites","nix")
    IniRead ("JG.ini","VerboteneSeiten","Sites","Error!NotExisting")
    IniRead ("JG.ini","Suchwörter","Wörter","Error!NotExisting")

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

    $IE = _IECreateEmbedded ()

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

    #Region ### START Koda GUI section ### Form=c:\users\killax2x\desktop\browser.kxf
    $Form1_1 = GUICreate("Little Webbrowser made by killax2x based on the Internet Explorer", 1316, 759, 183, 107)
    GUISetStyle ($WS_BORDER)
    $adress = GUICtrlCreateInput("www.google.de", 208, 48, 521, 21)
    GUICtrlSetData($adress,_IEPropertyGet($IE,"locationurl"))
    $Label1 = GUICtrlCreateLabel("Web Adresse:", 80, 48, 104, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $go = GUICtrlCreateButton("Go!", 744, 48, 129, 25, 0)
    $home = GUICtrlCreateButton("Home", 888, 48, 129, 25, 0)
    $inet = GUICtrlCreateObj($IE,0, 104, 1313, 665)
    $refresh = GUICtrlCreateButton("Aktualisieren", 208, 72, 113, 25, 0)
    $print = GUICtrlCreateButton("Drucken", 616, 72, 113, 25, 0)
    $save = GUICtrlCreateButton("Seite speichern", 328, 72, 281, 25, 0)
    $exit = GUICtrlCreateButton("Beenden", 1096, 16, 193, 33, 0)
    $back = GUICtrlCreateButton("<----", 56, 8, 81, 25, 0)
    $next = GUICtrlCreateButton("---->", 144, 8, 81, 25, 0)
    $datei = GUICtrlCreateMenu("&Datei")
    $credits = GUICtrlCreateMenuItem("Credits", $datei)
    $contact = GUICtrlCreateMenuItem("Kontakt", $datei)
    $quell = GUICtrlCreateMenuItem("Seitenquellcode anzeigen", $datei)
    $email = GUICtrlCreateMenuItem("Emailprogramm starten", $datei)
    $end = GUICtrlCreateMenuItem("Beenden", $datei)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    _IENavigate ($IE,"www.google.de")

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $go
    $url = GUICtrlRead ($adress)
    _IENavigate ($IE,$url)
    Case $home
    _IENavigate ($IE,"www.google.de")
    Case $refresh
    _IEAction ($IE,"refresh")
    Case $print
    _IEAction ($IE,"print")
    Case $save
    _IEAction ($IE,"saveas")
    Case $contact
    MsgBox (0,"Kontakt","Email: daniel_belz@gmx.net")
    Case $credits
    MsgBox (0,"Credits","Little Webbrowser made by killax2x.Webbrowser is based of the Internet Explorer")
    Case $end
    Exit
    Case $back
    _IEAction($IE,"back")
    Case $next
    _IEAction($IE,"forward")
    Case $quell
    $sHTML = _IEDocReadHTML ($IE)
    MsgBox(0, "Quelltext", $sHTML)
    Case $email
    $Address = InputBox('Adresse', 'Gib die E-Mail-Adresse des Empfängers ein:')
    $Subject = InputBox('Betreff', 'Gib einen Betreff für die E-Mail ein:')
    $Body = InputBox('Inhalt', 'Gib den Inhalt der E-Mail-Nachricht ein:')
    MsgBox(0, 'Das E-Mail-Programm wurde geöffnet', 'Das E-Mail-Programm wurde geöffnet, dessen Prozess-ID lautet: ' & _INetMail($Address, $Subject, $Body))

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

    Case $exit
    Exit
    EndSwitch
    WEnd

    [/autoit]

    achja nicht wundern das der browser immer noch auf dem gleichen stand ist habe bisher leider nicht weitermachen können ;(