[..] Script de gestionnaire de téléchargement.
Posté : sam. 19 mai 2012 11:15
par ELGAMALI
Bonjour tout le monde,
Je vous prie de m'aider ou de me donner des directives (exemple) pour confectionner un script de gestion de téléchargement qui doit permettre:
1- La reprise de téléchargements interrompus,
2- D’accélérer la vitesse de téléchargements sur Internet,
3- de mettre en pause et de planifier les téléchargements sur Internet.
Voici un exemple de script (comme base) sur le quel on peut ajouter les fonctions de gestionnaire de téléchargement.
Je vous prie de m'aider ou de me donner des directives (exemple) pour confectionner un script de gestion de téléchargement qui doit permettre:
1- La reprise de téléchargements interrompus,
2- D’accélérer la vitesse de téléchargements sur Internet,
3- de mettre en pause et de planifier les téléchargements sur Internet.
Voici un exemple de script (comme base) sur le quel on peut ajouter les fonctions de gestionnaire de téléchargement.
► Afficher le texte
#NoTrayIcon
#include <WindowsConstants.au3>
#include <ProgressConstants.au3>
;=============================================
DirCreate(@ProgramFilesDir&"\NOM DU REERTOIRE DE DISTINATION")
;=======================================
ConnexionActive()
$ProgressForm = GUICreate("Veillez passionter, téléchargement en cours ..", 480, 20, -1, 20)
$ProgressBar = GUICtrlCreateProgress(0, 0, 488, 21, $PBS_SMOOTH)
GUISetState(@SW_SHOW, $ProgressForm)
$URL = 'http://XXX.com/NOM DE FICHIER A TELECHARGER'
;==========================================
$nstal= @ProgramFilesDir&"\NOM DU REERTOIRE DE DISTINATION\"
DownloadFile($URL) ;On lance le téléchargement
Exit
Func DownloadFile($FileUrl, $ToFolder = $nstal)
FileCreateShortcut(@ProgramFilesDir& "\NOM DE FICHIER A TELECHARGER", @DesktopDir & "\NOM DE FICHIER A TELECHARGER.lnk", @ProgramFilesDir);racourci
Local $ArchiveName = StringTrimLeft($FileUrl, StringInStr($FileUrl, '/', 0, -1)) ;On définit le nom du fichier cible
Local $hDownload = InetGet($FileUrl, $ToFolder & '\' & $ArchiveName, 1, 1) ;On lance le téléchargement
$aData = InetGetInfo($hDownload) ;On récupére la taille du fichier
While $aData[1] = 0
Sleep(100) ;Nb : normalement la boucle n'est pas obligatoire
$aData = InetGetInfo($hDownload) ; ayant des soucis de connexion j'ai du passer par cette boucle
WEnd
GUICtrlSetData($ProgressBar, 0) ;init de la barre de progression
While $aData[0] < $aData[1] ;On boucle tant que le téléchargement n'est pas finalisé
$aData = InetGetInfo($hDownload)
GUICtrlSetData($ProgressBar, $aData[0] / $aData[1] * 100) ;On gére l'avancement de la barre de progression
Sleep(1000) ;On temporise pour laisser du process au petits copains
;On temporise pour laisser du process au petits copains
;==========================
Global $nBytes
$nBytes = InetGetInfo($hDownload, 0)
If $nBytes =XXXX then ;TAILLE FICHIER A TELECHARGER
MsgBox(64, "Félicitations La sauvegarde de votre contenu s'est bien déroulée! ", "Un raccourci portant le nom de votre contenu va être installé sur votre bureau !")
; \________________/
INSTALL ()
EndIf
WEnd
EndFunc
;==========================
Func LanceMedia()
Global $Taille=XXXXX ;TAILLE FICHIER A TELECHARGER
; \____________/
if FileGetSize(@ProgramFilesDir&"\NOM DE FICHIER A TELECHARGER")=$Taille Then
ShellExecuteWait(@ProgramFilesDir&"\NOM DE FICHIER A TELECHARGER")
Exit
EndIf
EndFunc
;===========================================
; tester connection
While 1
sleep(15000)
ConnexionActive()
WEnd
func ConnexionActive()
$var = Ping("www.google.com")
If $var = 0 Then
Msgbox(48,"Problème de connexion.Ce programme va s'arrêter. ", "La connexion au réseau internent a échoué, soit que votre modem n’est pas installer, ou soit le niveau du signal du réseau est trop bas. Avant de reprendre à nouveau cette application, assurez vous que la connexion au réseau internent est bien rétablie.")
Exit
Else
;Msgbox(48,"Fatal Error", " connexion internet active, 10 ")
EndIf
EndFunc
;=================================
Func INSTALL ()
LanceMedia()
EndFunc
;====================================
#include <WindowsConstants.au3>
#include <ProgressConstants.au3>
;=============================================
DirCreate(@ProgramFilesDir&"\NOM DU REERTOIRE DE DISTINATION")
;=======================================
ConnexionActive()
$ProgressForm = GUICreate("Veillez passionter, téléchargement en cours ..", 480, 20, -1, 20)
$ProgressBar = GUICtrlCreateProgress(0, 0, 488, 21, $PBS_SMOOTH)
GUISetState(@SW_SHOW, $ProgressForm)
$URL = 'http://XXX.com/NOM DE FICHIER A TELECHARGER'
;==========================================
$nstal= @ProgramFilesDir&"\NOM DU REERTOIRE DE DISTINATION\"
DownloadFile($URL) ;On lance le téléchargement
Exit
Func DownloadFile($FileUrl, $ToFolder = $nstal)
FileCreateShortcut(@ProgramFilesDir& "\NOM DE FICHIER A TELECHARGER", @DesktopDir & "\NOM DE FICHIER A TELECHARGER.lnk", @ProgramFilesDir);racourci
Local $ArchiveName = StringTrimLeft($FileUrl, StringInStr($FileUrl, '/', 0, -1)) ;On définit le nom du fichier cible
Local $hDownload = InetGet($FileUrl, $ToFolder & '\' & $ArchiveName, 1, 1) ;On lance le téléchargement
$aData = InetGetInfo($hDownload) ;On récupére la taille du fichier
While $aData[1] = 0
Sleep(100) ;Nb : normalement la boucle n'est pas obligatoire
$aData = InetGetInfo($hDownload) ; ayant des soucis de connexion j'ai du passer par cette boucle
WEnd
GUICtrlSetData($ProgressBar, 0) ;init de la barre de progression
While $aData[0] < $aData[1] ;On boucle tant que le téléchargement n'est pas finalisé
$aData = InetGetInfo($hDownload)
GUICtrlSetData($ProgressBar, $aData[0] / $aData[1] * 100) ;On gére l'avancement de la barre de progression
Sleep(1000) ;On temporise pour laisser du process au petits copains
;On temporise pour laisser du process au petits copains
;==========================
Global $nBytes
$nBytes = InetGetInfo($hDownload, 0)
If $nBytes =XXXX then ;TAILLE FICHIER A TELECHARGER
MsgBox(64, "Félicitations La sauvegarde de votre contenu s'est bien déroulée! ", "Un raccourci portant le nom de votre contenu va être installé sur votre bureau !")
; \________________/
INSTALL ()
EndIf
WEnd
EndFunc
;==========================
Func LanceMedia()
Global $Taille=XXXXX ;TAILLE FICHIER A TELECHARGER
; \____________/
if FileGetSize(@ProgramFilesDir&"\NOM DE FICHIER A TELECHARGER")=$Taille Then
ShellExecuteWait(@ProgramFilesDir&"\NOM DE FICHIER A TELECHARGER")
Exit
EndIf
EndFunc
;===========================================
; tester connection
While 1
sleep(15000)
ConnexionActive()
WEnd
func ConnexionActive()
$var = Ping("www.google.com")
If $var = 0 Then
Msgbox(48,"Problème de connexion.Ce programme va s'arrêter. ", "La connexion au réseau internent a échoué, soit que votre modem n’est pas installer, ou soit le niveau du signal du réseau est trop bas. Avant de reprendre à nouveau cette application, assurez vous que la connexion au réseau internent est bien rétablie.")
Exit
Else
;Msgbox(48,"Fatal Error", " connexion internet active, 10 ")
EndIf
EndFunc
;=================================
Func INSTALL ()
LanceMedia()
EndFunc
;====================================