- Offizieller Beitrag
Hallo
Ich lade sehr oft Bilder bei IMG-UP.net (geht schneller als Imageshack^^) hoch. Problem ist, dass ich immer erst Firefox starten muss, dann Lesezeichen -> IMG-UP.net dann Datei eintippen, blablabla.
Also hab ich mir gedacht, Hey, lass mich das mal Automatiesieren.
Das is dabei herausgekommen, nichts überwältigendes, aber wie ich finde etwas Praktisches:
Spoiler anzeigen
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=fav.ico
#AutoIt3Wrapper_outfile=IMG-UPLoader.exe
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseAnsi=y
#AutoIt3Wrapper_Res_Fileversion=1.5.0.0
#AutoIt3Wrapper_Res_LegalCopyright=GtaSpider [gtaspider@gmx.de]
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
;VERSION 1.5
;IMG-UPLoader - Using http://www.img-up.net/LupiLoad
;Script by GtaSpider!
;You can share this Freeware, but you must share it 100% for Free.
;If you want to change the Sourcecode, please ask me (GtaSpider) at http://www.autoit.de or by E-Mail: [email='gtaspider@gmx.de'][/email]
#NoTrayIcon
;Includes
#include<IE.au3>
#include<String.au3>
#include<WindowsConstants.au3>
#include<GUIConstantsEx.au3>
Global $Uploader = InputBox("", "Wähle dein Uploader" & @CRLF & "1=LupiUpload.de" & @CRLF & "0=IMG-UP.net") ;1=LupiUpload, 0=IMG-UP.net
TraySetToolTip("Initalizing...")
Switch $Uploader
Case 0
$sURL = "http://www.img-up.net/?html"
Case 1
$sURL = "http://www.lupiupload.de/index.php?up=1"
Case Else
Exit MsgBox(16, "", "Wrong Param-EXIT")
EndSwitch
;Opts & Globals
Opt("WinTitleMatchMode", 4)
$taskbar_pos = WinGetPos("classname=Shell_TrayWnd")
$taskbar_pos = $taskbar_pos[3]
Opt("TrayOnEventMode", 1)
Opt("TrayAutoPause", 0)
TraySetClick(8)
Global $oIE = _IECreate($sURL, 0, 0, 0)
Global $prg, $lb
Opt("WinTitleMatchMode", 1)
TraySetState()
TraySetToolTip("Image Uploader - By GtaSpider")
;Gui/Tray
GUICreate("", 200, 25, @DesktopWidth - 200, @DesktopHeight - ($taskbar_pos + 25), $WS_POPUP, $WS_EX_TOPMOST + $WS_EX_TOOLWINDOW)
$prg = GUICtrlCreateProgress(0, 0, 200, 25)
GUICtrlSetState(-1, $GUI_DISABLE)
$lb = GUICtrlCreateLabel("", 90, 5, 20, 25)
GUICtrlSetBkColor(-1, -2)
TraySetOnEvent(-13, "_OnClick")
;While
While 1
Sleep(100)
WEnd
;Functions
Func _OnClick()
;Doubleclick on Tray
Local $sSupportedFiles, $sRet, $sFod
GUICtrlSetData($prg, 0)
GUICtrlSetData($lb, "0%")
GUISetState()
_IELoadWait($oIE)
Do
$sSupportedFiles = _GetSuppFiles()
If Not @error Then ExitLoop
Until 1
$sSupportedFiles = StringReplace($sSupportedFiles, " ", '')
$sSupportedFiles = "*." & StringReplace($sSupportedFiles, "|", ';*.')
GUICtrlSetData($prg, 5)
GUICtrlSetData($lb, "5%")
$sFod = FileOpenDialog("Bild zum Uploaden", "", "Bilddateien (" & $sSupportedFiles & ")")
If @error Then Return GUISetState(@SW_HIDE) * 0
$sRet = String(_UploadImage($sFod))
If $sRet = '0' Then
TrayTip("Fehler", "Es gab ein Problem beim Upload. Probieren Sie den Vorgang nochmal aus" & @CRLF & "Wenn es nichts hilft, wenden Sie sich bitte GtaSpider.", 2, 2)
Beep(100, 100)
Else
TrayTip("Upload Complete - By GtaSpider", "Die Datei wurde erfolgreich auf " & $sURL & " geladen." & @CRLF & "Der Link befindet sich in der Zwischenablage" & @CRLF & $sRet, 1, 1)
ClipPut($sRet)
Beep(300, 100)
EndIf
_IENavigate($oIE, $sURL)
GUISetState(@SW_HIDE)
EndFunc ;==>_OnClick
Func _UploadImage($sImage)
;Upload the Image
Local $oForm, $oInputFile, $hIE, $oLink, $aSupportedFiles, $sExt, $iExtSup = False, $i, $sRet
If Not FileExists($sImage) Then Return MsgBox(48, "Warnung", 'Die Datei existiert nicht! Upload abgebrochen.') * 0
GUICtrlSetData($prg, 15)
GUICtrlSetData($lb, "15%")
$sSupportedFiles = _GetSuppFiles()
If @error Then Return MsgBox(16, "Error", "Fehler beim lesen der Dateitypen.") * 0
GUICtrlSetData($prg, 30)
GUICtrlSetData($lb, "30%")
$aSupportedFiles = StringSplit(StringReplace($sSupportedFiles, " ", ""), "|")
$sExt = StringTrimLeft($sImage, StringInStr($sImage, ".", 0, -1))
For $i = 1 To $aSupportedFiles[0]
If $sExt = $aSupportedFiles[$i] Then
$iExtSup = True
ExitLoop
EndIf
Next
If Not $iExtSup Then Return MsgBox(48, "Warnung", 'Der Dateityp "' & $sExt & '" wird nicht unterstüzt! Upload abgebrochen.') * 0
GUICtrlSetData($prg, 50)
GUICtrlSetData($lb, "50%")
If $Uploader = 0 Then
$oForm = _IEFormGetObjByName($oIE, "imgup")
$oInputFile = _IEFormElementGetObjByName($oForm, "filedata")
ElseIf $Uploader = 1 Then
$oForm = _IEFormGetObjByName($oIE, "upload")
$oInputFile = _IEFormElementGetObjByName($oForm, "file_1")
EndIf
GUICtrlSetData($prg, 60)
GUICtrlSetData($lb, "60%")
_IEAction($oInputFile, "focus")
$hIE = _IEPropertyGet($oIE, "hwnd")
GUICtrlSetData($prg, 70)
GUICtrlSetData($lb, "70%")
ControlSend($hIE, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", $sImage)
GUICtrlSetData($prg, 85)
GUICtrlSetData($lb, "85%")
If $Uploader = 0 Then
_IENavigate($oIE, 'javascript:uploadsubmit()')
ElseIf $Uploader = 1 Then
$oElem = _IEFormElementGetObjByName($oForm, "senden")
_IEAction($oElem, "click")
;~ _IEImgClick($oIE,"http://lupiupload.de/images/Button1.jpg")
;~ _IELinkClickByIndex
;~ _IEFormSubmit($oForm)
;~ _IENavigate($oIE,'javascript:startUpload()')
EndIf
GUICtrlSetData($prg, 95)
GUICtrlSetData($lb, "95%")
If $Uploader = 0 Then
$oForm = _IEFormGetObjByName($oIE, "links")
$oLink = _IEFormElementGetObjByName($oForm, 'normal')
$sRet = _IEFormElementGetValue($oLink)
ElseIf $Uploader = 1 Then
_IELoadWait($oIE)
$sRet = _StringBetween(_IEBodyReadHTML($oIE), '<P><SPAN class=Stil15><SPAN class=Stil16>Link zum Bild: <A href="', '" target=_blank>')
If Not IsArray($sRet) Then Return MsgBox(16, "", "Link nicht gefunden auf " & $sURL) * 0
$sRet = $sRet[0]
EndIf
GUICtrlSetData($prg, 100)
GUICtrlSetData($lb, "100%")
Return $sRet
EndFunc ;==>_UploadImage
Func _GetSuppFiles()
Local $sRet, $sSource = _IEBodyReadHTML($oIE)
If $Uploader = 0 Then
$sRet = _StringBetween($sSource, '<DIV class=bolded style="PADDING-TOP: 20px">', '</DIV>')
If Not IsArray($sRet) Then Return SetError(1, 0, "*")
$sRet = $sRet[0]
Else
$sRet = _StringBetween($sSource, "Dateitypen:</DIV></TD>" & @CRLF & '<TD class=main height=30>' & @CRLF & '<DIV align=left>', '</DIV></TD></TR>')
If Not IsArray($sRet) Then Return SetError(1, 1, "*")
$sRet = StringUpper(StringReplace($sRet[0], ",", " |"))
EndIf
Return $sRet
EndFunc ;==>_GetSuppFiles
Benutzung:
Sehr Simpel, einfach das Skript starten, und dann ggf Doppelklick auf das Trayicon machen.
Wenn du ein Doppelklick gemacht hast, öffnet sich der Standard FileOpenDialog. Einfach Bild auswählen und auf Öffnen klicken. Den Rest macht er automatisch.
Zum Schluss steht wenn alles geklappt hat unten "Upload Complete". Dann wurde der IMG-UP link in die Zwischenablage gespeichert.
Rechtliches:
Ihr dürft das Programm gerne weitergeben, dann aber halt mit Verweis auf diesen Post/auf mich.
Wenn ihr den Sourcecode ändern wollt, und dass Skript dann weitergeben wollt (eigene Nutzung ist mir natürlich egal^^) fragt mich bitte vohrer per PM oder E-Mail um Erlaubnis.
Von der Seite von IMG-UP gibt es in den AGB's auch nichts, was dieses Skript nicht tollerieren würde
Im Anhang nochmal die Kompelierte EXE mit Icon.
Mfg Spider
Edit: Version 1.5 rausgebracht (Mehr Infos)