|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : Wininet FTP FtpFindFirstFile plusieurs fois [ Windows / Réseau & Internet ] (Galmiza)
Informations & options pour cette discussion
vendredi 6 octobre 2006 à 18:09:43 |
Wininet FTP FtpFindFirstFile plusieurs fois

Galmiza
|
Salut à tous, J'ai besoin de pouvoir ouvrir plusieurs handles vers des fichiers sur serveur FTP. Or, je ne peux en ouvrir qu'un. L'appel d'un autre FtpFindFirstFile renvoie 0. Est-ce normal ou y a-t-il un moyen de résoudre le problème et comment ? Merci
|
|
|
vendredi 6 octobre 2006 à 18:10:35 |
Re : Wininet FTP FtpFindFirstFile plusieurs fois

Galmiza
|
Je voulais dire ouvrir plusieurs handles en même temps.
|
|
|
vendredi 6 octobre 2006 à 18:24:08 |
Re : Wininet FTP FtpFindFirstFile plusieurs fois

Galmiza
|
Pour préciser un peu plus, j'utilise la dite fonction avec les paramètres. HINTERNET hFind = FtpFindFirstFile(m_hFTPConnection, path, &wData, INTERNET_FLAG_RELOAD, 0);
Les path pour les appels de FtpFindFirstFile sont différents.
La connection ayant été initialisée ainsi (en retirant les étapes de vérification): m_hInternetConnection = InternetOpen( "J-FTP", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0 ); m_hFTPConnection = InternetConnect( m_hInternetConnection, server, port, login, pass, INTERNET_SERVICE_FTP, 0, 0 );
|
|
|
vendredi 6 octobre 2006 à 18:30:18 |
Re : Wininet FTP FtpFindFirstFile plusieurs fois

BruNews
|
Réponse acceptée !
MSDN nous dit: FtpFindFirstFile is similar to the FindFirstFile function. Note, however, that only one FtpFindFirstFile can occur at a time within a given FTP session. The enumerations, therefore, are correlated with the FTP session handle. This is because the FTP protocol allows only a single directory enumeration per session.
Si donc FTP protocol ne veut pas...
ciao... BruNews, MVP VC++
|
|
|
vendredi 6 octobre 2006 à 18:33:53 |
Re : Wininet FTP FtpFindFirstFile plusieurs fois

Galmiza
|
Je suis désolé Brunews d'avoir posé une question dont la réponse était dans la doc MSDN. Cependant, merci infiniment ;). Je vais me débrouiller autrement...
Merci encore
|
|
|
vendredi 6 octobre 2006 à 21:12:20 |
Re : Wininet FTP FtpFindFirstFile plusieurs fois

Oeil_de_taupe
|
Je me rappele avoir eu exectement le même problème pour lister le contenu d'un serveur FTP. Voilà la fonction que j'avais faite pour outrepasser cette limite. Il n'y a aucune assurance qu'elle marche! Je l'ai fait il y a plusieurs années. Je te laisse regarder si des bouts t'intéresse.
void ListElement(CFile* fEcriture, HINTERNET HwndFTP, char* chmFTP) {
//Parcours tous les fichier et dossier WIN32_FIND_DATA fEnum; //Sauvegarde dans le tas des dossiers WIN32_FIND_DATA* ficEnr = new WIN32_FIND_DATA[20]; //Recupere le premier fichier et modification du chemin char* arbFichier = new char[strlen(chmFTP)+255]; strcpy(arbFichier, chmFTP); strcat(arbFichier, "/");
//Recherche du premier fichier HINTERNET premFichier = FtpFindFirstFile(HwndFTP, arbFichier, &fEnum, NULL, NULL);
//Test de la validité du handle if(!premFichier) { cout << "Erreur de handle" << endl; return; }
//Initialise la variable qui compte le nb de dossier int nbDossier = 0; do { //Filtre dossier et fichier if (!(fEnum.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) { //Affiche les fichiers cout << "F:" << fEnum.cFileName << endl; char* AjoutFichier = new char[255]; strcpy(AjoutFichier,fEnum.cFileName); strcat(AjoutFichier, "\r\n"); fEcriture->Write(AjoutFichier, strlen(AjoutFichier)); delete [] AjoutFichier; }else{ //Affiche les dossier et les enregistre //cout << "D:" << fEnum.cFileName << endl;
if(nbDossier < 19) { *(ficEnr + nbDossier) = fEnum; nbDossier++; }
} }while(InternetFindNextFile(premFichier, &fEnum));
//Ferme le handle de recherche de fichier dans le rep InternetCloseHandle(premFichier);
//Traite maintenant les dossier du rep, pour pouvoir tous les inspecter for(int i = 0; i < nbDossier; i++) { char* arbSousFich = new char[strlen(chmFTP)+255]; strcpy(arbSousFich, arbFichier); strcat(arbSousFich, (ficEnr+i)->cFileName); ListElement(fEcriture, HwndFTP, arbSousFich); delete [] arbSousFich; }
delete [] ficEnr; delete [] arbFichier;
}
|
|
|
Cette discussion est classé dans : ouvrir, ftp, wininet, ftpfindfirstfile
Répondre à ce message
Sujets en rapport avec ce message
argument de FtpFindFirstFile [ par melkiorlenecrarque ]
Voila le probleme: J'arrive bien à parcourir la racine de mon, serveur FTP, en precisant comme chemin NULL, mais je n'arrive pas à parcourir de sous
Liste de ossiers ftp Wininet [ par Roulio52 ]
Salut à tous !Ca fait plus de 3 jours que je cherche à faire une fonction en c++ avec wininet qui me permettrai de mettre dans un tableau la liste des
Wininet.h [ par ekinoks ]
Salut !J'ai un GROS problème que je n'arrive pas a résoudre :'(Dans mon programme, je me connecte à des FTP avec la lib "Wininet.h". Mon gestionnaire
Wininet et Serveur FTP francais [ par Renfield ]
Bonjour,Je suis en train de faire un outil pour le boulot qui joues avec des fichiers sur differents serveurs FTP.j'utilise les API de Wininetl'enumer
Ouvrir une deuxième fenêtre Win32 sous Dev-C++ [ par olivier007700 ]
Bonjour, Je souhaite ouvrir, depuis une première fenêtre, une deuxième fenêtre tout à fait classique.Quel est le code le plus simple pour ce faire ?Me
Ouvrir les fenêtres "Enregistrer sous" et "Ouvrir un fichier" [ par olivier007700 ]
Bonjour,J'ai cherché sur plusieurs sites la réponse à ma question, mais je n'ai pas pu la trouver. Pourtant, ça ne doit pas être sorcier ;-)Voilà : Co
différence entre deux fichiers distant(FTP) [ par Chount ]
Salut,je suis sur un projet en C++ avec les MFC pour mon stage et je bloque sur le fait de trouver les différences entre deux fichiers un sur le local
plusieurs fenêtre win32 [ par maevasa ]
bonjour,Voilà j'ai un programme qui ouvre sur un menu . Ce menu permet d'ouvrir plusieurs fenêtres mais lorque une est ouverte je ne peux pas cliquer
Connexion ftp puis ecriture dans un fichier txt [ par lombredudragon ]
Voila je me suis fait une fonction ip(); qui recup mon ip et j'aimerais me faire une fonction qui se connecte a un serveur ftp gratuit(genre free tisc
Ouvrir une boite de dialog directement sur le poste de travail [ par Chount ]
Salut à tout le monde.Je suis en stage et j'ai quasiment fini mon projet.Je suis dans une phase de "fignolage".J'aimerai dans une boite de dialogue, o
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|