Soyez le premier à donner votre avis sur cette source.
Vue 17 147 fois - Téléchargée 2 016 fois
/* Contenu du main.h */ void SendFileFtp ( HWND, char [] ); /* DEFINE */ #define MAX_PATH 255 #define MAIN_LEN 255 #define NameFileIni "SendFileFTP.ini" #define NameApp "SendFileFTP" /*************************************************************/ /* Source du programme d'envoi de fichier pas protocol FTP /* /* Parametres : /* 1. HWND du programme principal /* 2. Repertoire to Send /* /* Retour : /* /* Créateur : Trinita /* Copyright : Freeware /* Date Création : 18/03/2003 /* /* Date de Modification : 19/03/2003 /* Version : 1.0.0 /* /************************************************************/ #include <string.h> #include <stdio.h> #include <Wininet.h> #include <windows.h> #include "main.h" /* Voir ci-dessus */ #include "logfile.h" /* Pour la fonction WriteInLogFile () */ #include "ressource.h" /* fichier .rc */ void SendFileFtp ( HWND hDlgSend, char DirFile[MAIN_LEN+1] ) { /* Déclaration des variables */ /* init des variables */ char *Buffer = (char *) calloc(sizeof (char), MAIN_LEN+1); char DirNameFileIni[MAIN_LEN+1]=""; char NameServeurFtp[MAIN_LEN+1]=""; char LoginFtp[MAIN_LEN+1]=""; char PwdFtp[MAIN_LEN+1]=""; char DirFtp[MAIN_LEN+1]=""; char FileToSend[MAIN_LEN+1]=""; bool ResultFtp; char DirFileTmp[MAIN_LEN+1]=""; char TxtLog[MAIN_LEN+1]=""; /* Les handles */ HINTERNET hInternetSession; /* handle to internet connection */ HINTERNET hFTPSession; /* handle to FTP session */ HANDLE hfind; /* handle pour le parcours du dossier */ WIN32_FIND_DATA wfd; /* Structure du repertoire */ /* Récupération du chemin du fichier ini */ GetFullPathName( NameFileIni, MAIN_LEN+1, Buffer, NULL); strcpy ( DirNameFileIni,Buffer ); /* Récupération des params */ GetPrivateProfileString ( "FTP" , "NAME_SERVEUR_FTP" , "" , NameServeurFtp , MAIN_LEN+1 , DirNameFileIni ); GetPrivateProfileString ( "FTP" , "LOGIN_FTP" , "" , LoginFtp , MAIN_LEN+1 , DirNameFileIni ); GetPrivateProfileString ( "FTP" , "PWD_FTP" , "" , PwdFtp , MAIN_LEN+1 , DirNameFileIni ); GetPrivateProfileString ( "FTP" , "DIR_FTP" , "" , DirFtp , MAIN_LEN+1 , DirNameFileIni ); /* Ouverture de la connexion */ hInternetSession = InternetOpen ( NameApp , INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0); if ( hInternetSession == NULL ) { /* Erreur dans l'ouverture de la connexion */ WriteInLogFile ( "Erreur dans l'ouverture de la connexion <InternetOpen>" ); exit; } /* Connexion au serveur FTP */ hFTPSession = InternetConnect ( hInternetSession, NameServeurFtp, INTERNET_DEFAULT_FTP_PORT, LoginFtp, PwdFtp, INTERNET_SERVICE_FTP, 0, 0); if ( !hFTPSession ) { WriteInLogFile ( "Erreur dans l'ouverture de la connexion ftp <InternetConnect>" ); exit; } else { /* Enregistrement des fichiers sur le serveur FTP */ /* Liste le contenu du répertoire et envoi fichier par fichier */ strcat ( DirFileTmp, DirFile ); strcat ( DirFileTmp, "\\*.*" ); hfind = FindFirstFile ( DirFileTmp, &wfd ); if (hfind != INVALID_HANDLE_VALUE) { do { if( wfd.cFileName[0] != '.') { /* Envoi du fichier courant */ strcpy ( FileToSend, DirFile); strcat ( FileToSend, "\\"); strcat ( FileToSend, wfd.cFileName); ResultFtp = FtpPutFile ( hFTPSession, FileToSend, wfd.cFileName, FTP_TRANSFER_TYPE_ASCII, NULL); if ( !ResultFtp ) { strcpy ( TxtLog, "Erreur Enregistrement du fichier ! <FtpPutFile>"); strcat ( TxtLog, FileToSend); WriteInLogFile ( TxtLog ); } } }while(FindNextFile( hfind, &wfd)); FindClose(hfind); } /* Fermeture de la connexion ftp */ InternetCloseHandle ( hFTPSession ); } /* Fermeture de la session */ InternetCloseHandle ( hInternetSession ); if ( strlen ( TxtLog) == 0) { MessageBox( hDlgSend ,"Opération terminée avec succès !!!!","Information",MB_OK|MB_ICONINFORMATION); } else { MessageBox( hDlgSend ,"Erreur dans l'envoi des fichiers consultez le fichier de trace !!!!","Erreur",MB_OK|MB_ICONWARNING); } return; }
18 oct. 2010 à 21:37
28 déc. 2007 à 02:13
26 avril 2007 à 12:09
Tout d'abord merci pour la source. Elle est trés intéressante,
Mais voila, j'aimerais savoir comment je devrais faire pour modifier cette source pour que je puisse Downloader des fichiers.
Merci d'avance.
26 déc. 2005 à 15:14
6 déc. 2005 à 14:59
Est ce que tu peux stp me donner plus de détail sur ce que tu as fait en utilisant le batch et la tache planifiée
ou bien si tu peux me donner le code source ça sera meilleur.
Merci d'avance.
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.