Explication de fonctionnement de la DLL isxdl.dll qui permet de télécharger très simplement des fichiers sur le web. Cette DLL n'est pas de moi, elle vient du site www.istool.org. Avec www.innosetup.com (et istool), vous pourrez concevoir des install très simplement. Mais je n'ai pas mis une source pour dire ça.
Vous trouverez ci-dessous les API relatives à cette dll. Et elle est dans le zip avec une version française (que j'ai fais) car je n'arrive pas à utiliser la fonction "language"!
Il faut mettre ce code dans un module. Et la DLL dans windows, system32.
Note: Ici j'utilise la version française de la dll, si vous la voulez en anglais (j'en doute) remplacez simplement isxdl_fr.dll par isxdl.dll!!!!
Source / Exemple :
'isxdl.dll : DLL permettant de télécharger des fichiers sur le web (ou réseau local?! => pas testé)
'La DLL provient de ISTool , logiciel gratuit servant (avec Inno Setup, gratuit) à faire des programmes d'installation professionnels entièrement paramétrable
'www.istool.org
'www.innosetup.com
'
'source déposée sur www.vbfrance.com par Tioneb
'allez voir le tuto de Zlub pour voir comment fonctionne inno setup
'http://www.vbfrance.com/tutorial.aspx?ID=238
'
'
'télécharge directement un fichier, URL c'est ce qu'il DL et filename c'est le chemin complet où il faut le mettre
'retourne 1 si fichier DL sinon 0
Public Declare Function isxdl_Download Lib "isxdl_fr.dll" (ByVal ihWnd As Long, ByVal strURL As String, ByVal strFilename As String) As Integer
'ajoute un fichier dans la liste de ce qu'il faudra DL
Public Declare Function isxdl_AddFile Lib "isxdl_fr.dll" (ByVal strURL As String, ByVal strFilename As String)
'comme ci-dessus mais en ajoutant la taille du fichier (faut qu'elle soit juste) => je trouve que ça sert à rien!
Public Declare Function isxdl_AddFileSize Lib "isxdl_fr.dll" (ByVal strURL As String, ByVal strFilename As String, ByVal lngSize As Long)
'télécharge tous les fichiers de la liste actuelle
'retourne 1 si tout les fichiers sont DL, sinon 0
Public Declare Function isxdl_DownloadFiles Lib "isxdl_fr.dll" (ByVal ihWnd As Long) As Integer
'efface le contenu de la liste en cours
Public Declare Sub isxdl_ClearFiles Lib "isxdl_fr.dll" ()
'teste si une connexion internet est présente; retourne 1 si oui, sinon 0
Public Declare Function isxdl_IsConnected Lib "isxdl_fr.dll" () As Integer
'Paramètre les options
'Avec pour options:
'
'title = titre de la fenêtre
'simple = fenêtre de téléchargement simple si valeur n'est pas vide (dans ce cas elle sera inscrite dans la fenêtre)
'label = Texte de la première ligne (celle en gras)
'description = celle qui est juste en dessous!
'language = permet de spécifier un fichier de langage (marche pas chez moi)
'resume = permet d'utiliser le "resume"! (marche pas chez moi)
'smallwizardimage = permet de spécifier un fichier (chemin complet) image différent (vérifier si c'est à la bonne taille!)
'
'retourne 1 si l'option est bien prise en compte, et 0 si l'option est inconnue ou si elle n'a pas pu être affectée
Public Declare Function isxdl_SetOption Lib "isxdl_fr.dll" (ByVal strOption As String, ByVal strValue As String) As Integer
'retourne le véritable nom d'un téléchargement (utile quand le liens pour DL un fichier pointe vers une page qui lance le DL)
Public Declare Function isxdl_GetFileName Lib "isxdl_fr.dll" (ByVal strRL As String) As String
Conclusion :
Dans mes tests, je n'ai pas réussi à faire fonctionner le "job liste" (télécharger plusieurs fichiers à la suite); j'ai une erreur: erreur d'appel de procédure et je ne vois pas d'où ça vient.
Si j'ai oublié quelque chose, dites le moi et laissez des commentaires
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.