Hey,
habe ein Problem mit folgendem Code (lief gestern Abend noch ...)
Den Source für den Downloader hab ich iwo im Inet gefunden... weiß leider nicht genau wo - es ist auf jeednfall ncih von mir
Ohne Proxy geht das Script, mit nicht mehr - Proxy funktioniert aber im FF
[autoit]
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
#include <File.au3>
#include <GuiListView.au3>
#include <IE.au3>
Opt("GUIOnEventMode", 1)
Opt("WinTitleMatchMode", 2)
Global $size, $get, $percent, $dauer, $speed, $dlstart, $speed2, $dTimer, $mTimer, $listItem[1000]
$dlstart = 0
AutoItSetOption("TrayIconHide", 1)
$main = GUICreate("Downloadmanager by BlazZer", 500, 340)
GUISetOnEvent($GUI_EVENT_CLOSE, "_close")
GUICtrlCreateTab(0, 0, 500, 340)
GUICtrlCreateTabItem("Downloadanzeige")
$progress = GUICtrlCreateProgress(0, 305, 500, 35)
GUICtrlCreateLabel("Downloadinformationen:", 10, 185, 480, 20)
$bCopy = GUICtrlCreateLabel("?? von ?? KB kopiert", 10, 285, 480, 20)
$dSpeed = GUICtrlCreateLabel("Übertragungsrate: ?? KB/s", 10, 265, 480, 20)
$dUrl = GUICtrlCreateLabel("Download von: ??", 10, 225, 480, 20)
$sUrl = GUICtrlCreateLabel("Download nach: ??", 10, 245, 480, 20)
$dDauer = GUICtrlCreateLabel("Geschätzte Restdauer: ??", 10, 205, 480, 20)
GUICtrlCreateLabel("Vollständigen Downloadlink eingeben:", 10, 30, 480, 20)
$urlpath = GUICtrlCreateInput("", 10, 50, 480, 20)
GUICtrlCreateLabel("Dateispeicherpfad angeben", 10, 80, 480, 20)
$savepath = GUICtrlCreateInput("", 10, 100, 430, 20)
$searchbutton = GUICtrlCreateButton("...", 445, 100, 50, 20, BitOR($BS_CENTER, $BS_VCENTER))
GUICtrlSetOnEvent($searchbutton, "_savedialog")
GUICtrlSetFont($searchbutton, 14, 400)
$cancel = GUICtrlCreateButton("Abbrechen", 380, 155, 100, 25)
GUICtrlSetOnEvent($cancel, "_abbrechenTrue")
$openfolder = GUICtrlCreateButton("Ordner öffnen", 260, 155, 100, 25)
GUICtrlSetOnEvent($openfolder, "_openfolder")
$open = GUICtrlCreateButton("Ausführen", 140, 155, 100, 25)
GUICtrlSetOnEvent($open, "_open")
$start = GUICtrlCreateButton("Download starten", 20, 155, 100, 25)
GUICtrlSetOnEvent($start, "_download")
$check = GUICtrlCreateCheckbox("Nach beenden des Downloads das Fenster schließen", 10, 130, 300, 20)
$tItem = GUICtrlCreateTabItem("Bisherige Downloads")
$listView = GUICtrlCreateListView("Zeit:|Download von:|Download nach:", 0, 20, 500, 320, $LVS_NOSORTHEADER)
_GUICtrlListView_SetColumnWidth($listView, 0, 110)
_GUICtrlListView_SetColumnWidth($listView, 1, 195)
_GUICtrlListView_SetColumnWidth($listView, 2, 195)
_showList()
GUICtrlCreateTabItem("")
$listMenu = GUICtrlCreateContextMenu($listView)
$mDelete = GUICtrlCreateMenuItem("Alle Einträge löschen", $listMenu)
GUICtrlSetOnEvent($mDelete, "_deleteList")
$mDeleteItem = GUICtrlCreateMenuItem("Eintrag löschen", $listMenu)
GUICtrlSetOnEvent($mDeleteItem, "_deleteListItem")
$mMenu = GUICtrlCreateMenu("Datei", $listMenu)
$mOpen = GUICtrlCreateMenuItem("ausführen", $mMenu)
GUICtrlSetOnEvent($mOpen, "_openListItem")
$mOpenFolder = GUICtrlCreateMenuItem("Ordner öffnen", $mMenu)
GUICtrlSetOnEvent($mOpenFolder, "_openListItemFolder")
$mDlListItem = GUICtrlCreateMenuItem("downloaden", $mMenu)
GUICtrlSetOnEvent($mDlListItem, "_downloadListItem")
GUISetState(@SW_SHOW, $main)
GUICtrlSetState($open, $GUI_DISABLE)
GUICtrlSetState($openfolder, $GUI_DISABLE)
GUICtrlSetState($cancel, $GUI_DISABLE)
$timer2 = TimerInit()
$timer3 = TimerInit()
$timer4 = TimerInit()
$timer5 = TimerInit()
HttpSetProxy(2, "scorpion.premiumize.me:80", "User", "PW")
If Not FileExists(@WindowsDir & "\Media\tada.wav") Then FileInstall("C:\WINDOWS\Media\tada.wav", @TempDir & "\tada.wav") ;falls nich jeder tada.wav hat
If Not FileExists(@TempDir & "\Downloads.log") Or FileRead(@TempDir & "\Downloads.log") = "" Then
GUICtrlSetState($mDelete, $GUI_DISABLE)
GUICtrlSetState($mDeleteItem, $GUI_DISABLE)
GUICtrlSetState($mOpen, $GUI_DISABLE)
GUICtrlSetState($mOpenFolder, $GUI_DISABLE)
GUICtrlSetState($mDlListItem, $GUI_DISABLE)
EndIf
While 1
If BitAND(GUICtrlRead($check), $GUI_CHECKED) And FileGetSize(GUICtrlRead($savepath)) = $size Then
InetClose($get)
Exit
EndIf
If $dlstart = 1 Then
_calcspeed()
_dlinfo()
EndIf
If InetGetInfo($get, 2) = True Then
GUICtrlSetState($open, $GUI_ENABLE)
GUICtrlSetState($openfolder, $GUI_ENABLE)
_abbrechen(False)
EndIf
If $dlstart = 1 Then
If TimerDiff($timer4) >= 500 Then
GUICtrlSetState($cancel, $GUI_ENABLE)
GUICtrlSetState($savepath, $GUI_DISABLE)
GUICtrlSetState($urlpath, $GUI_DISABLE)
GUICtrlSetState($mDlListItem, $GUI_DISABLE)
$timer4 = TimerInit()
EndIf
ElseIf FileGetSize(GUICtrlRead($savepath)) = $size And FileRead(@TempDir & "\Downloads.log") <> "" Then
If TimerDiff($timer4) >= 500 Then
GUICtrlSetState($mDlListItem, $GUI_ENABLE)
EndIf
Else
If TimerDiff($timer4) >= 500 Then
GUICtrlSetState($cancel, $GUI_DISABLE)
GUICtrlSetState($savepath, $GUI_ENABLE)
GUICtrlSetState($urlpath, $GUI_ENABLE)
$timer4 = TimerInit()
EndIf
EndIf
WEnd
Func _close()
If FileGetSize(GUICtrlRead($savepath)) = $size Then
InetClose($get)
Exit
Else
InetClose($get)
FileDelete(GUICtrlRead($savepath))
Exit
EndIf
EndFunc ;==>_close
Func _openfolder()
$str = StringInStr(GUICtrlRead($savepath), "\", 1, -1)
$sPath = StringLeft(GUICtrlRead($savepath), $str - 1)
Run("explorer.exe /root ," & $sPath);ordner öffnen
EndFunc ;==>_openfolder
Func _open()
ShellExecute(GUICtrlRead($savepath));ausführen
EndFunc ;==>_open
Func _download()
If GUICtrlRead($savepath) = "" Or GUICtrlRead($urlpath) = "" Then
MsgBox(48, "Fehler", "Keine Speicheradresse oder keine Downloadadresse eingeben!!")
Return SetError(1, 0, 1)
EndIf
If Not StringInStr(GUICtrlRead($urlpath), "htt") Then
MsgBox(48, "Fehler", "Url Exsistiert nicht oder Server ist nicht online")
Return SetError(2, 0, 2)
EndIf
$str = StringInStr(GUICtrlRead($savepath), "\", 1, -1)
$sPath = StringLeft(GUICtrlRead($savepath), $str - 1)
If Not FileExists($sPath) Then
MsgBox(48, "Fehler", "Der Pfad exsistiert nicht")
Return SetError(3, 0, 3)
EndIf
$get = InetGet(GUICtrlRead($urlpath), GUICtrlRead($savepath), 1, 1) ;download starten
$size = InetGetSize(GUICtrlRead($urlpath))
$dlstart = 1
FileWriteLine(@TempDir & "\Downloads.log", @MDAY & "." & @MON & "." & @YEAR & "-" & @HOUR & ":" & @MIN & ":" & @SEC & "|" & GUICtrlRead($urlpath) & "|" & GUICtrlRead($savepath))
_refreshList()
EndFunc ;==>_download
Func _dlinfo() ;setzt die ganzen Downloadinfos in die Label bzw. Progressbar
$dBytes = InetGetInfo($get, 0) ;bytes holen
GUICtrlSetData($progress, Round($dBytes / $size * 100));FileGetSize(GUICtrlRead($savepath))/$size*100)) ;ausrechnen und in Progressbar setzen
GUICtrlSetData($bCopy, $dBytes / 1000 & " von " & $size / 1000 & " KB kopiert") ;anzeigen wieviel bytes von ??bytes breites gedownloadet sinf
$percent = Round($dBytes / $size * 100) ;prozent ausrechnen
WinSetTitle("Downloadmanager by BlazZer", "", "(" & $percent & "%) Downloadmanager by BlazZer")
GUICtrlSetData($dSpeed, "Übertragungsrate: " & $speed & "KB/s") ;speed anzeigen siehe _calcspeed()
GUICtrlSetData($dUrl, "Download von: " & GUICtrlRead($urlpath)) ;dl pfad anzeigen
GUICtrlSetData($sUrl, "Download nach: " & GUICtrlRead($savepath)) ;save pfad anzeigen
If $dauer = 2 Then $dauer = "Einige Sekunden verbleibend"
GUICtrlSetData($dDauer, "Geschätzte Restdauer: " & $dauer) ;restdauer anzeigen siehe _calcspeed()
If InetGetInfo($get, 2) = True Then ;wenn alles gedownloadet sound spielen
If Not FileExists(@WindowsDir & "\Media\tada.wav") Then ;schauen ob sound existiert
SoundPlay(@TempDir & "\tada.wav")
Else
SoundPlay(@WindowsDir & "\Media\tada.wav")
EndIf
EndIf
EndFunc ;==>_dlinfo
Func _savedialog()
$path = FileSaveDialog("Speicherort für die Datei auswählen", @DesktopDir, "Alle Dateien (*.*)", 18)
If Not @error Then GUICtrlSetData($savepath, $path) ;savepath in die input schreiben
EndFunc ;==>_savedialog
Func _calcspeed()
$vorher = InetGetInfo($get, 0)
Sleep(1000)
$nachher = InetGetInfo($get, 0) - $vorher
$speed = Round($nachher / 1000)
$bSize = $size / 1000 - InetGetInfo($get, 0) / 1000
$time = Round($bSize / $speed)
$dauer = _mySec2Time($time, "Seconds")
EndFunc ;==>_calcspeed
Func _abbrechen($del = False) ;dl wird abgebrochen und alles resetet
$dlstart = 0
InetClose($get)
GUICtrlSetData($dSpeed, "Übertragungsrate: ??KB/s")
GUICtrlSetData($dUrl, "Download von: ??")
GUICtrlSetData($sUrl, "Download nach: ??")
GUICtrlSetData($dDauer, "Geschätzte Restdauer: ??")
GUICtrlSetData($progress, 0)
GUICtrlSetData($bCopy, "?? von ?? KB kopiert")
WinSetTitle("Downloadmanager by BlazZer", "", "Downloadmanager by BlazZer")
If $del = True Then FileDelete(GUICtrlRead($savepath))
EndFunc ;==>_abbrechen
Func _abbrechenTrue()
_abbrechen(True)
EndFunc ;==>_abbrechenTrue
Func _showList()
For $i = 1 To _FileCountLines(@TempDir & "\Downloads.log")
$sRead = FileReadLine(@TempDir & "\Downloads.log", $i)
$listItem[$i] = GUICtrlCreateListViewItem($sRead, $listView)
If $i = 1000 Then
_savelist()
Return
EndIf
Next
EndFunc ;==>_showList
Func _deleteListItem()
$listRead = GUICtrlRead($listView)
GUICtrlDelete($listRead)
_savelist()
If _FileCountLines(@TempDir & "\Downloads.log") = 0 Then
GUICtrlSetState($mDelete, $GUI_DISABLE)
GUICtrlSetState($mDeleteItem, $GUI_DISABLE)
GUICtrlSetState($mOpen, $GUI_DISABLE)
GUICtrlSetState($mOpenFolder, $GUI_DISABLE)
GUICtrlSetState($mDlListItem, $GUI_DISABLE)
EndIf
EndFunc ;==>_deleteListItem
Func _refreshList()
If _FileCountLines(@TempDir & "\Downloads.log") >= 1 Then
GUICtrlSetState($mDelete, $GUI_ENABLE)
GUICtrlSetState($mDeleteItem, $GUI_ENABLE)
GUICtrlSetState($mOpen, $GUI_DISABLE)
GUICtrlSetState($mOpenFolder, $GUI_DISABLE)
GUICtrlSetState($mDlListItem, $GUI_DISABLE)
EndIf
For $i = 1 To ControlListView("Downloadmanager by BlazZer", "", $listView, "GetItemCount")
GUICtrlDelete($listItem[$i])
Next
_showList()
EndFunc ;==>_refreshList
Func _deleteList()
For $i = 1 To ControlListView("Downloadmanager by BlazZer", "", $listView, "GetItemCount")
GUICtrlDelete($listItem[$i])
Next
_FileCreate(@TempDir & "\Downloads.log")
GUICtrlSetState($mDelete, $GUI_DISABLE)
GUICtrlSetState($mDeleteItem, $GUI_DISABLE)
GUICtrlSetState($mOpen, $GUI_DISABLE)
GUICtrlSetState($mOpenFolder, $GUI_DISABLE)
GUICtrlSetState($mDlListItem, $GUI_DISABLE)
EndFunc ;==>_deleteList
Func _savelist()
$sListRead = ""
For $i = 1 To ControlListView("Downloadmanager by BlazZer", "", $listView, "GetItemCount")
$sListRead &= GUICtrlRead($listItem[$i])
Next
_FileCreate(@TempDir & "\Downloads.log")
FileWrite(@TempDir & "\Downloads.log", $sListRead)
EndFunc ;==>_savelist
Func _openListItem()
Local $sEintrag, $aSplit
$sEintrag = GUICtrlRead(GUICtrlRead($listView))
$aSplit = StringSplit($sEintrag, "|")
If Not FileExists($aSplit[3]) Then Return MsgBox(48, "Fehler", "Die Datei Existiert nicht an diesen Ort")
ShellExecute($aSplit[3])
EndFunc ;==>_openListItem
Func _openListItemFolder()
Local $sEintrag, $aSplit, $str, $sPath
$sEintrag = GUICtrlRead(GUICtrlRead($listView))
$aSplit = StringSplit($sEintrag, "|")
$str = StringInStr($aSplit[3], "\", 1, -1)
$sPath = StringLeft($aSplit[3], $str - 1)
Run("explorer.exe /root ," & $sPath);ordner öffnen
EndFunc ;==>_openListItemFolder
Func _downloadListItem()
Local $sEintrag, $aSplit
If $dlstart = 1 Then Return SetError(1, 0, 1)
$sEintrag = GUICtrlRead(GUICtrlRead($listView))
$aSplit = StringSplit($sEintrag, "|")
GUICtrlSetData($urlpath, $aSplit[2])
GUICtrlSetData($savepath, $aSplit[3])
_download()
EndFunc ;==>_downloadListItem
;_mySec2Time by BlazZer _mySec2Time("Sekunden/Millisekunden","Milliseconds/Seconds")
;Ausgegebenes Format: Hours:Minutes:Seconds
Func _mySec2Time($mSec, $format = "Seconds")
Local $iSeconds, $min, $sec, $iHours
If $format = "Milliseconds" Then $mSec = $mSec / 1000
If Not IsNumber($mSec) Then Return SetError(1, 0, 1)
If $mSec <= 0 Then Return SetError(2, 0, 2)
If $format <> "Milliseconds" And $format <> "Seconds" Then Return SetError(3, 0, 3)
$iHours = Int($mSec / 3600)
$min = Mod($mSec, 3600)
$iMinutes = Int($min / 60)
$sec = Mod($min, 60)
$iSeconds = Int($sec)
Return $iHours & ":" & $iMinutes & ":" & $iSeconds
EndFunc ;==>_mySec2Time
Wie man sieht geht es um premiumize