Hi Leute!
ich wollte GtaSpider mal etwas Konkurenz machen
Ne eigentlich hatte ich eher Lust, was mim Internet Explorer zu machen.
Das kam raus:
Spoiler anzeigen
#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Version=beta
#AutoIt3Wrapper_icon=icon.ico
#AutoIt3Wrapper_Res_Comment=Easy image uploading to bildrian.de or imageshack.us
#AutoIt3Wrapper_Res_Description=Easy image uploading to bildrian.de or imageshack.us
#AutoIt3Wrapper_Res_Fileversion=1.0.0.2
#AutoIt3Wrapper_Res_LegalCopyright=Copyright © 2008 qon
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
;Dont change anything without asking qon [maxmoppel@yahoo.de]
[/autoit] [autoit][/autoit] [autoit]#include "IE.au3"
#Include <GuiConstants.au3>
#include <File.au3>
#include <string.au3>
Opt("TrayMenuMode",1)
FileInstall("C:\Dokumente und Einstellungen\Maximilian\Desktop\programming\Autoit\ImgageUploader\header1.jpg",@tempdir & "\header1.jpg",1)
FileInstall("C:\Dokumente und Einstellungen\Maximilian\Desktop\programming\Autoit\ImgageUploader\header2.jpg",@tempdir & "\header2.jpg",1)
FileInstall("C:\Dokumente und Einstellungen\Maximilian\Desktop\programming\Autoit\ImgageUploader\minimize.bmp",@tempdir & "\minimize.bmp",1)
FileInstall("C:\Dokumente und Einstellungen\Maximilian\Desktop\programming\Autoit\ImgageUploader\close.bmp",@tempdir & "\close.bmp",1)
;GUI
$MainGui = GuiCreate("Image Uploader v 1.0.0.2 © qon",500,320)
GuiCtrlCreatePic(@tempdir & "\header1.jpg",40,11,170,90)
GuiCtrlCreatePic(@tempdir & "\header2.jpg",235,11,240,90)
$Label1 = GuiCtrlCreateLabel("Picture #1",15,122,75)
$Path1 = GuiCtrlCreateInput("",105,120,260,21,$ES_READONLY + $ES_LEFT + $ES_AUTOHSCROLL)
$Browse1 = GuiCtrlCreateButton("Browse...",382,119,100,20)
$Label2 = GuiCtrlCreateLabel("Picture #2",15,152,75)
$Path2 = GuiCtrlCreateInput("",105,150,260,21,$ES_READONLY + $ES_LEFT + $ES_AUTOHSCROLL)
$Browse2 = GuiCtrlCreateButton("Browse...",382,149,100,20)
$Label3 = GuiCtrlCreateLabel("Picture #3",15,182,75)
$Path3 = GuiCtrlCreateInput("",105,180,260,21,$ES_READONLY + $ES_LEFT + $ES_AUTOHSCROLL)
$Browse3 = GuiCtrlCreateButton("Browse...",382,179,100,20)
$Label4 = GuiCtrlCreateLabel("Picture #4",15,212,75)
$Path4 = GuiCtrlCreateInput("",105,210,260,21,$ES_READONLY + $ES_LEFT + $ES_AUTOHSCROLL)
$Browse4 = GuiCtrlCreateButton("Browse...",382,209,100,20)
$Label5 = GuiCtrlCreateLabel("Picture #5",15,242,75)
$Path5 = GuiCtrlCreateInput("",105,240,260,21,$ES_READONLY + $ES_LEFT + $ES_AUTOHSCROLL)
$Browse5 = GuiCtrlCreateButton("Browse...",382,239,100,20)
$StartButton = GuiCtrlCreateButton("Upload",45,280,140,25)
[/autoit] [autoit][/autoit] [autoit]$LabelMirror = GuiCtrlCreateLabel("select mirror",260,285,120)
$Mirror = GuiCtrlCreateCombo("",330,282)
GuiCtrlSetData($Mirror,"Bildrian.de (fast)|Imageshack.us","Bildrian.de (fast)")
;Color/Font
GuiSetBkColor(0xFFFFFF,$MainGui)
GuiCtrlSetBkColor($Path1,0xFFFFFF)
GuiCtrlSetBkColor($Path2,0xFFFFFF)
GuiCtrlSetBkColor($Path3,0xFFFFFF)
GuiCtrlSetBkColor($Path4,0xFFFFFF)
GuiCtrlSetBkColor($Path5,0xFFFFFF)
GuiCtrlSetFont($Label1,11,800,2)
GuiCtrlSetFont($Label2,11,800,2)
GuiCtrlSetFont($Label3,11,800,2)
GuiCtrlSetFont($Label4,11,800,2)
GuiCtrlSetFont($Label5,11,800,2)
;Some Sets
Global $LastBrowse = @DesktopDir
Global $Path_s[5]
Global $Percent = 0
;PROGGUI
$ProgGui = GUICreate("",381,70,-1,-1,$WS_POPUP)
$Progress = GUICtrlCreateProgress(15, 40, 350, 15, $PBS_MARQUEE)
$Label = GuiCtrlCreateLabel("Contacting host ...",114,10,200)
$Minimize = GuiCtrlCreatePic(@tempdir & "\minimize.bmp",345,10,10,10)
$Close = GuiCtrlCreatePic(@tempdir & "\close.bmp",360,10,10,10)
GuiSetBkColor(0x000000,$ProgGui)
GuiCtrlSetColor($Progress,0x18DF18)
GuiCtrlSetColor($Label,0x18DF18)
GuiCtrlSetFont($Label,11,800,0,"Comic Sans MS")
GuiRoundCorners($ProgGui, 2, 2, 5, 5)
;RESULTGUI
$ResultGui = GuiCreate("Image URL's",520,170)
$ResultEdit = GuiCtrlCreateEdit("",10,10,500,150,$ES_READONLY)
GuiSetBkColor(0x000000,$ResultGui)
GuiCtrlSetColor($ResultEdit,0xDF1818)
GuiCtrlSetFont($ResultEdit,10,600)
GuiSetState(@SW_SHOW,$MainGui)
[/autoit] [autoit][/autoit] [autoit];Loop
While 1
Switch GuiGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $StartButton
_DoUpload()
Exit
Case $Browse1
_SetPath(1)
Case $Browse2
_SetPath(2)
Case $Browse3
_SetPath(3)
Case $Browse4
_SetPath(4)
Case $Browse5
_SetPath(5)
EndSwitch
WEnd
Func _DoUpload()
$Path_s[0] = GuiCtrlRead($Path1)
$Path_s[1] = GuiCtrlRead($Path2)
$Path_s[2] = GuiCtrlRead($Path3)
$Path_s[3] = GuiCtrlRead($Path4)
$Path_s[4] = GuiCtrlRead($Path5)
$Host = GuiCtrlRead($Mirror)
$PathGiven = 0
For $i = 0 to UBound($Path_s)-1
If $Path_s[$i] <> "" then $PathGiven = 1
Next
If $PathGiven = 0 then Return 0
GuiDelete($MainGui)
Dim $ResultText
GuiSetState(@SW_SHOW,$ProgGui)
AdlibEnable("_ProgBarAdd",25)
Switch $Host
Case "Bildrian.de (fast)"
For $i = 0 to UBound($Path_s)-1
If $Path_s[$i] = "" then ContinueLoop
$Upload = _UploadBildrian($Path_s[$i],$i)
Switch $Upload
Case -3
Msgbox(48,"Error","Unknown error, maybe bildrian has changed his hompage or your Internet Explorer is not compatible with this script.")
Case -2
Msgbox(48,"Error","Could not contact http://bildrian.de, maybe the homepage is temporary not aviable.")
Case -1
Msgbox(48,"Error","Could not upload image #" & $i+1 & " to bildrian, maybe invalid image or temporary bug.")
Case Else
$ResultText &= "picture #" & $i+1 & ": " & $Upload & @CRLF
EndSwitch
Next
Case "Imageshack.us"
For $i = 0 to UBound($Path_s)-1
If $Path_s[$i] = "" then ContinueLoop
$Upload = _UploadImageShack($Path_s[$i],$i)
Switch $Upload
Case -3
Msgbox(48,"Error","Unknown error, maybe imageshack has changed his hompage or your Internet Explorer is not compatible with this script.")
Case -2
Msgbox(48,"Error","Could not contact http://imageshack.us, maybe the homepage is temporary not aviable.")
Case -1
Msgbox(48,"Error","Could not upload image #" & $i+1 & " to imageshack, maybe invalid image or temporary bug.")
Case Else
$ResultText &= "picture #" & $i+1 & ":" & @CRLF & $Upload & @CRLF
EndSwitch
Next
EndSwitch
AdlibDisable()
GuiSetState(@SW_HIDE,$ProgGui)
If $ResultText <> "" Then
GuiCtrlSetData($ResultEdit,$ResultText)
GuiSetState(@SW_SHOW,$ResultGui)
While 1
Switch GuiGetMsg($ResultGui)
Case $GUI_EVENT_CLOSE
ExitLoop
EndSwitch
WEnd
EndIf
_Restart()
EndFunc
Func _SetPath($Button)
$File = FileOpenDialog("Choose an image",$LastBrowse,"Images (*.jpg;*.jpeg;*.png;*.gif;*.bmp)")
If @error then Return 0
If FileExists($File) = 0 then Return 0
If FileGetSize($File)/1048576 > 1.5 Then
Msgbox(48,"Size","Your selected image is too big, maximum 1,5 megabites.")
Return 0
EndIf
Dim $szDrive, $szDir, $szFName, $szExt
$SplitPath = _PathSplit($File, $szDrive, $szDir, $szFName, $szExt)
IF @error then Return 0
$LastBrowse = $SplitPath[1] & $SplitPath[2]
Switch $Button
Case 1
GuiCtrlSetData($Path1,$File)
Case 2
GuiCtrlSetData($Path2,$File)
Case 3
GuiCtrlSetData($Path3,$File)
Case 4
GuiCtrlSetData($Path4,$File)
Case 5
GuiCtrlSetData($Path5,$File)
EndSwitch
EndFunc
Func _UploadImageShack($ImagePath,$ImgNumber)
GuiCtrlSetData($Label,"Contacting imageshack ...")
$oIE = _IECreate("http://www.imageshack.us/",0,0)
If @error then
_IEQUIT($oIE)
Return -2
EndIf
_IELoadWait($oIE)
If @error then
_IEQUIT($oIE)
Return -2
EndIf
GuiCtrlSetData($Label,"uploading picture #" & $ImgNumber+1)
$oForm = _IEFormGetCollection ( $oIE, 2 )
If @error then
_IEQUIT($oIE)
Return -3
EndIf
$oInputFile = _IEFormElementGetObjByName($oForm, "fileupload")
If @error then
_IEQUIT($oIE)
Return -3
EndIf
_IEAction($oInputFile, "focus")
If @error then
_IEQUIT($oIE)
Return -3
EndIf
$hIE = _IEPropertyGet($oIE, "hwnd")
If @error then
_IEQUIT($oIE)
Return -3
EndIf
ControlSend($hIE, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", $ImagePath)
If @error then
_IEQUIT($oIE)
Return -3
EndIf
_IEFormSubmit($oForm)
_IELoadWait($oIE)
$Source = _IEDocReadHTML($oIE)
If @error then
_IEQUIT($oIE)
Return -3
EndIf
$ImgLinks = _StringBetween($Source,'value=>')
If @error then
_IEQUIT($oIE)
Return -1
EndIf
$Link = $ImgLinks[0]
_IEQUIT($oIE)
Return StringStripWs($Link,3)
EndFunc
Func _UploadBildrian($ImagePath,$ImgNumber)
GuiCtrlSetData($Label,"Contacting bildrian ...")
$oIE = _IECreate("http://www.bildrian.de/content.php",0,0)
If @error then
_IEQUIT($oIE)
Return -2
EndIf
_IELoadWait($oIE)
If @error then
_IEQUIT($oIE)
Return -2
EndIf
GuiCtrlSetData($Label,"uploading picture #" & $ImgNumber+1)
$oForm = _IEFormGetCollection ( $oIE, 0 )
If @error then
_IEQUIT($oIE)
Return -3
EndIf
$oInputFile = _IEFormElementGetObjByName($oForm, "datei")
If @error then
_IEQUIT($oIE)
Return -3
EndIf
_IEAction($oInputFile, "focus")
If @error then
_IEQUIT($oIE)
Return -3
EndIf
$hIE = _IEPropertyGet($oIE, "hwnd")
If @error then
_IEQUIT($oIE)
Return -3
EndIf
ControlSend($hIE, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", $ImagePath)
If @error then
_IEQUIT($oIE)
Return -3
EndIf
$oCheckBox = _IEFormElementCheckBoxSelect ($oForm,0,"",1,"ByIndex")
_IEFormSubmit($oForm)
_IELoadWait($oIE)
$Source = _IEDocReadHTML($oIE)
If @error then
_IEQUIT($oIE)
Return -3
EndIf
$ImgLinks = _StringBetween($Source,'<DIV class=footer1>Bild-Link: <INPUT style="WIDTH: 300px" value=',' name=link> <INPUT')
If @error then
_IEQUIT($oIE)
Return -1
EndIf
$Link = $ImgLinks[0]
_IEQUIT($oIE)
Return StringStripWs($Link,3)
EndFunc
Func _ProgBarAdd()
GuiCtrlSetData($Progress,$Percent)
$Percent += 1
If $Percent > 100 then $Percent = 0
If GuiGetMsg($ProgGui) = $Minimize Then
Opt("TrayIconHide",0)
GuiSetState(@SW_HIDE,$ProgGui)
EndIf
If GuiGetMsg($ProgGui) = $Close Then
Exit
EndIf
If TrayGetMsg() = $TRAY_EVENT_PRIMARYDOUBLE Then
Opt("TrayIconHide",1)
GuiSetState(@SW_SHOW,$ProgGui)
EndIf
EndFunc
Func GuiRoundCorners($h_win, $i_x1, $i_y1, $i_x3, $i_y3)
$pos = WinGetPos($h_win)
$ret = DllCall("gdi32.dll", "long", "CreateRoundRectRgn", "long", $i_x1, "long", $i_y1, "long", $pos[2], "long", $pos[3], "long", $i_x3, "long", $i_y3)
If $ret[0] Then
$ret2 = DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $h_win, "long", $ret[0], "int", 1)
If $ret2[0] Then
Return 1
Else
Return 0
EndIf
Else
Return 0
EndIf
EndFunc
Func _restart()
If @Compiled = 1 Then
Run( FileGetShortName(@ScriptFullPath))
Else
Run( FileGetShortName(@AutoItExe) & " " & FileGetShortName(@ScriptFullPath))
EndIf
Exit
EndFunc
Es kann bis zu 5 Bildern auf einmal auf Imageshack oder Bildrian laden, Bildrian ist dabei wesentlich schneller.
Man kann es auch bequem im Hintergrund hochladen lassen.
Im Anhang auch nochmal die mit dem Wrapper kompilte exe und allen Bildern
Über Bugs/Feedback wäre ich froh.
lG qon