AutoIt - Browser + Extras

09/29/2010 20:43 .Moskito#1
In diesem TuT zeige ich euch, wie ihr
euch ganz leicht einen Internet-Browser Scriptet.

Inhaltsverzeichnis:

•1. Vorraussetzungen
•2. Fertige Script
•3. Das Scripten
•3.1 Standart
•3.2 Extras


1. Voraussetzungen:

•Grundkenntnisse AutoIt
•Umgang mit Koda

2. Der fertige Script

[Only registered and activated users can see links. Click Here To Register...]


Er beinhaltet:
•Notizen, welche abgespeichert werden
•Lesezeichen
•Spezialsuche
•Buttons: Home, Aktualisieren, Vorwärst/Rückwärts
•Ablesbare Url
•Tabs

3.Kommen wir zum Scripten...

3.1 Ihr erstellt euch im Koda eine GUI nach euren Vorstellungen.

Damit dieser Funktioniert, müssen 3 Dinge in der GUI beinhaltet sein:
• Picture
• Input
• Suchen –Button

Also :

Code:
#include <GUIConstants.au3> 

#Region ### START Koda GUI section ### Form= 
$Form1 = GUICreate("Browser", 619, 435, 193, 125) 
$Pic1 = GUICtrlCreatePic("", 0, 40, 617, 393) 
$Input1 = GUICtrlCreateInput("Internetadresse", 8, 8, 521, 21) 
$Button1 = GUICtrlCreateButton("Suchen", 536, 8, 75, 25) 
GUISetState(@SW_SHOW) 
#EndRegion ### END Koda GUI section ### 

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

WEnd
Das wäre das "Ausgangsprodukt". Als nächstes weisen wir die Befehle zu.
Wie das passiert, habe ich in dem nächsten Script mit ; kommentiert.

Code:
#include <GUIConstants.au3> 
#include <IE.au3> ; als erstes den include

$oIE = _IECreateEmbedded () ;ist der Befehl zum "eindringen" in eine Internetverbindung 
_IEErrorHandlerRegister() ;"registriert" den Browser

#Region ### START Koda GUI section ### Form= 
$Form1 = GUICreate("Browser", 619, 435, 193, 125) 
$Pic1 = GUICtrlCreateobj($oIE, 0, 40, 617, 393) 
$Input1 = GUICtrlCreateInput("Internetadresse", 8, 8, 521, 21) 
$Button1 = GUICtrlCreateButton("Suchen", 536, 8, 75, 25) 
GUISetState(@SW_SHOW) 
#EndRegion ### END Koda GUI section ###

_IENavigate($oIE,"http://www.icetea-coding.de/index.php?page=Index") ; gibt die Startseite an

While 1 
$nMsg = GUIGetMsg() 
Switch $nMsg 
Case $GUI_EVENT_CLOSE 
Exit 
Case $Button1, $Input1 ; lässt den Browser auch durch Enter-Klick bedienen 
$Url = GUICtrlRead($Input1) ;ließt den Inhalt der InputBox 
_IENavigate($oIE, $Url) ;verbindet zur angegebenen Seite 
EndSwitch 
WEnd
Soweit sogut, euer erster Browser.

3.2 Die Extras

Vorab solltet ihr die Includes adden.
Nun könnt ihr euren Browser natürlich Beliebig ausschmücken....


Aktualisieren-Button

Dieser Button ist wie ihr im fertigem Script seht, sehr leicht einzubauen.
Nachdem ihr euch diesen im Koda eingefügt habt, weist ihr ihn zu:

Code:
 
Case $Aktualisieren_button 
Send ("{F5}")

Vor- und Zurück-Button

Auch diese sind relativ leicht einzubauen.

Code:
 
Case $Button_back ;Zurück-Button 
_IEAction($oIE,"Back") 
Case $Button_forward ;Vor-Button 
_IEAction($oIE,"forward")
Home-Button

Wie ihr euch schon denken könnt, ist dieser ebenfalls leicht einzubauen ;)

Code:
 
Case $button_home 
_IENavigate($oIE,"http://www.google.de")

Spezialsuche

Wie ihr bemerkt habt sind die meisten Sachen leicht einzubauen.
Dieses hier ist, wie auch das Folgende Lesezeichen etwas Anspruchsvoller ;)

Dazu erstellt ihr euch in eurem Browser einige "Radio"´s , welche ihr je nach eurer Wahl beschriftet. Außerdem einen Input, in die der Suchbegriff kommt, und dann natürlich auch einen Suchen-Button.
Im Script dürfte das dann so aussehen:

Code:
 
$GUI_input_suche = GUICtrlCreateInput("Hier den Suchbegriff eingeben.", 1048, 40, 193, 23) 
$GUI_button_suche = GUICtrlCreateButton("Suche starten", 1056, 248, 105, 25) 
$GUI_radio_google = GUICtrlCreateRadio("Google", 1056, 72, 113, 17) 
GUICtrlSetFont(-1, 10, 400, 0, "@Arial Unicode MS") 
$GUI_radio_youtube = GUICtrlCreateRadio("YouTube", 1056, 96, 113, 17) 
GUICtrlSetFont(-1, 10, 400, 0, "@Arial Unicode MS") 
$GUI_radio_amazon = GUICtrlCreateRadio("Amazon", 1056, 120, 113, 17) 
GUICtrlSetFont(-1, 10, 400, 0, "@Arial Unicode MS") 
$GUI_radio_wikipedia = GUICtrlCreateRadio("Wikipedia", 1056, 144, 113, 17) 
GUICtrlSetFont(-1, 10, 400, 0, "@Arial Unicode MS") 
$GUI_radio_ebay = GUICtrlCreateRadio("Ebay", 1056, 168, 113, 17) 
GUICtrlSetFont(-1, 10, 400, 0, "@Arial Unicode MS") 
$GUI_radio_yahoo = GUICtrlCreateRadio("Yahoo", 1056, 192, 113, 17) 
GUICtrlSetFont(-1, 10, 400, 0, "@Arial Unicode MS") 
$GUI_radio_forestle = GUICtrlCreateRadio("Forestle", 1056, 216, 113, 17) 
GUICtrlSetFont(-1, 10, 400, 0, "@Arial Unicode MS")
Nun müsst ihr diese nur noch Zuweisen, welches ein bisschen Köpfchen beansprucht ;)

Code:
 
Case $GUI_button_suche 
If GUICtrlRead($GUI_radio_google) = 1 Then ; checkt den Radio 
_IENavigate($oIE, "http://www.google.de/search?hl=de&source=hp&q=" & GUICtrlRead($GUI_input_suche)) ; setzt den Suchbegriff in den Link 
EndIf 
If GUICtrlRead($GUI_radio_youtube) = 1 Then 
_IENavigate($oIE, "http://www.youtube.com/results?search_query=" & GUICtrlRead($GUI_input_suche)) 
EndIf 
If GUICtrlRead($GUI_radio_amazon) = 1 Then 
_IENavigate($oIE, "http://www.amazon.de/s/ref=nb_sb_noss?__mk_de_DE=ÅMÅZÕÑ&url=search-alias=aps&field-keywords=" & GUICtrlRead($GUI_input_suche)) 
EndIf 
If GUICtrlRead($GUI_radio_wikipedia) = 1 Then 
_IENavigate($oIE, "http://de.wikipedia.org/wiki/Spezial:Search?ns0=1&search=" & GUICtrlRead($GUI_input_suche)) 
EndIf 
If GUICtrlRead($GUI_radio_ebay) = 1 Then 
_IENavigate($oIE, "http://shop.ebay.de/?_from=R40&_trksid=m38&_nkw=" & GUICtrlRead($GUI_input_suche)) 
EndIf 
If GUICtrlRead($GUI_radio_yahoo) = 1 Then 
_IENavigate($oIE, "http://de.search.yahoo.com/search?vc=&p=" & GUICtrlRead($GUI_input_suche)) 
EndIf 
If GUICtrlRead($GUI_radio_forestle) = 1 Then 
_IENavigate($oIE, "http://de.forestle.org/search.php?q=" & GUICtrlRead($GUI_input_suche)) 
EndIf
Wie ihr warscheinlich seht, schaut es ein wenig kompliziert aus, welches aber nicht der Fall ist.
Villeicht habt ihr es bei Google oder sonstigen Suchmaschinen schoneinmal bemerkt.
Ihr geht auf [Only registered and activated users can see links. Click Here To Register...] und schreibt einen Suchbegriff hinein und drückt dann auf "Suchen".
Nun kommen euch lauter seiten, welche die Suchmaschine gefunden hat.
Schaut ihr jedoch einmal in den Link, so findet ihr euren Suchbegriff wieder.
Bei google schauts so aus:
[Only registered and activated users can see links. Click Here To Register...]

Sobald man dies erkannt hat, kann man dieses sehr leicht einsetzen.
Also schreiben wir etwas in die Inputbox der Spazialsuche.
Sobald wir auf den "Suche starten"-button klicken, ließt der Script den Inhalt heraus und setzt ihn in den von uns markierten Link (der Radio) und sucht nach ihm.
So ist es nicht nur bei Google, sondern auch bei vielen anderen, s.o.


Lesezeichen

Die Lesezeichen sind wieder einfacher einzufügen.
Dazu erstellt ihr euch als erstes ein Menü in eurer GUI, mit "Lesezeichen" als MainMenu und euren Favoriten als SubMenu.

Code:
 
$GUI_menu_lesezeichen = GUICtrlCreateMenu("Lesezeichen") 
$GUI_sub_Lesezeichen_Svz = GUICtrlCreateMenuItem("Schülervz", $GUI_menu_lesezeichen)
Nun weisen wir diesen noch ihre Internetadressen zu, dazu nutzen wir, wie oben auch schon den "_IENavigate"-Befehl.

Code:
 
Case $GUI_sub_Lesezeichen_Svz
_IENavigate($oIE, "http://www.schuelervz.net")

Notizen

Für die Notizen erstellt ihr ganz schlicht eine Edit-Box.
Im Script:

Code:
 
$notizen = GUICtrlCreateEdit(FileRead("C:\System\" & "Notizen.txt"), 1048, 328, 201, 329); Edit mit Inhalt der Txt datei erstellen
Wie ihr seht, sucht der Script, sobald er gestartet ist, in C:\System\ nach Notizen.txt , wenn dieses vorhanden sein sollte, gibt er den Inhalt der Text-Datei in den Notizen wieder.

Jedoch was wenn keine Txt-Datei vorhanden ist? Und was wenn wir etwas neues in die Notizen schreiben?

Code:
 
Case -3 
FileDelete("C:\System\" & "Notizen.txt") ; alte datei löschen 
FileWrite("C:\System\" & "Notizen.txt", GUICtrlRead($notizen)) ; neue mit neuem Text anlegen. 
Exit
Auch dieses Problem lässt sich schnell lösen.

Wir weisen dem X-Button zu, dass wenn man ihn klickt, er die alte, vorhandene Datei aus dem System-Ordner löschen soll und eine neue, mit dem Text aus den Notizen schreiben soll.
So überschreibt der Script, jedes mal nach schließen des Browser die alten Notizen und öffnet sie wieder beim starten des Browsers.
Fals keine Text-Datei vorhanden sein sollte, hat sich der Schritt mit dem löschen der Text-Datei erledigt und er schreibt beim schließen des Browsers ganz einfach eine neue.


Hoffe das TuT hat euch gefallen... ;)


TuT Copyright by .Moskito....
09/29/2010 21:12 .Moskito#2
Quote:
Originally Posted by .IceDragon View Post
Nice

thx ;)

hoffe kommt noch mehr feedback :>
09/29/2010 21:17 FizzeBu#3
Wow. Werd mich mal morgen oder so näher damit befassen, aber ein Thanks auf jeden Fall, für die Arbeit;D
09/29/2010 21:18 xxxflorianxxx#4
Joa ist eigendlich ein ganz gutes tut. für leute die sich nicht damit auskennen ;)

kannst ja noch paar screens rein stellen wie es z.B. aussehen könnte.
09/29/2010 21:25 Bodog6#5
Super Tutorial, vielen Dank!
09/29/2010 22:21 1337Standard#6
nice dies das <33
09/29/2010 22:29 FizzeBu#7
Habs grad einfach mal ganz frech abkopiert und gestartet... sieht gut aus!:handsdown:
09/30/2010 07:01 .Moskito#8
Quote:
Originally Posted by FizzeBu View Post
Habs grad einfach mal ganz frech abkopiert und gestartet... sieht gut aus!:handsdown:

danke ;)
hat aber noch einige bugs...
z.B. das skallieren muss ich noch ausrichten, zur zeit verschieben sich immer buttons und so... xD
Und wenn du den letzten Tab schließt, kommt ne fehlermeldung, da muss ich mir auch noch was einfallen lassen...
09/30/2010 14:12 FizzeBu#9
Quote:
Originally Posted by .Moskito View Post
danke ;)
hat aber noch einige bugs...
z.B. das skallieren muss ich noch ausrichten, zur zeit verschieben sich immer buttons und so... xD
Und wenn du den letzten Tab schließt, kommt ne fehlermeldung, da muss ich mir auch noch was einfallen lassen...
Der erste Eindruck is trozdem sehr gut!
09/30/2010 17:33 .Moskito#10
Quote:
Originally Posted by FizzeBu View Post
Der erste Eindruck is trozdem sehr gut!
joa... ;)

falls ihr irgendwelche probleme haben solltet... einfach posten :D
09/30/2010 17:39 ♫VVendetta♫#11
Ich finds auch gut kucks mir morgen auch noch mal genauer an aber sonst ist es sehr gut...
Kannst ja vlt die Buttons wo anders hin machen
09/30/2010 17:46 .Moskito#12
Quote:
Originally Posted by ♫VVendetta♫ View Post
Ich finds auch gut kucks mir morgen auch noch mal genauer an aber sonst ist es sehr gut...
Kannst ja vlt die Buttons wo anders hin machen
wie meinst das mit buttons woanders hinmachen?
anders positionieren? :D
wenn ja, dann wohin? ^^
10/01/2010 16:37 Braveness#13
hammer tut, danke dir dafür!
10/01/2010 18:18 Yevii#14
Mal was anderes :)
10/03/2010 13:57 .Moskito#15
Quote:
Originally Posted by .Since View Post
hammer tut, danke dir dafür!
thx ;)

@ yevi, was meinst mit was anderes? :D