Bonjour,

Débutant en c++ (je ne programme qu'en php), je souhaite cependant modifier un petit programme écrit en C++.
Il s'agit de Ftp-it! petit utilitaire qui permet une fois configurer de faire un clique droit sur un fichier, puis à partir du menu contextuel l'envoyer sur un ftp présélectionné.

Je voudrais me servir de ce programme car il est tres simple, les modifications que je souhaiterais faire sont les suivantes:
- durant l'installation le programme demande à l'utilisateur les codes ftp, je souhaiterais que ce soit fait automatiquement (ban ça doit pas etre tres dur a faire, je pense qu'il suffit de mettre les codes en dur et non en variable)
- Dans sa version actuelle le programme permet l'envoie de tout type de fichier, moi je voudrais limiter l'upload a un seul type de fichier, les mp3.

Voila c'est pas des grosses modifs mais je ne sais pas comment m'y prendre, j'ai contacté l'auteur qui ne m'a pas repondu...

En revanche, il a publié les sources de son script... j'ai donc télécharger Dev-C++, ouvert son fichier DEV ou CPP et essayer de recompiler apres quelques modifs mais rien ne se passe...

Pourriez vous m'indiquer la marche a suivre?

D'avance merci!!!

voici la source:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
 
 
/****************************************************************************/
/* 		                        Ftp-It 	                                	*/
/*																			*/
/*										                                	*/
/*																			*/													
/*	Créateur : saSHOCK														*/
/*	Copyright : Freeware													*/
/* 	Date Création : 06/03/2004												*/
/*																			*/
/*	Date de Modification : 08/03/2004										*/
/*	Version : 1.0.1															*/
/*																			*/
/****************************************************************************/
// Bon je sais qu'il ya mieux comme code mais le c++ c'est VRAIMENT pas mon truc donc m'en voulez pas =)
#include <wininet.h>
#include <windows.h>
#define NameFileIni "config.ini" 
 
void SendFileFtp (
    char* FileToSend,  				
    char* NameServeurFtp,
    char* LoginFtp,
    char* PwdFtp,
    char* DirFtp)
 
{ 	/* Les handles */
	HINTERNET hInternetSession; 				/* handle to internet connection */
	HINTERNET hFTPSession; 						/* handle to FTP session	*/
    bool ResultFtp;
 
 
		/* Ouverture de la connexion */
	hInternetSession = InternetOpen ( "proutftp" , INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
	if ( hInternetSession == NULL )
	{
	    MessageBox ( NULL,"Erreur lors de l'ouverture de la connexion." , "Ftp-It", MB_OK);
		exit;
 
	}
	/* Connexion au serveur FTP */
 
	hFTPSession = InternetConnect ( hInternetSession, NameServeurFtp, INTERNET_DEFAULT_FTP_PORT, LoginFtp, PwdFtp, INTERNET_SERVICE_FTP, 0, 0);
	if ( !hFTPSession )
	{
	MessageBox ( NULL,"Erreur lors de l'ouverture du ftp." , "Ftp-It", MB_OK);
		exit;
	}
	else
	{/* Enregistrement des fichiers sur le serveur FTP */
 
 
	ResultFtp = FtpPutFile ( hFTPSession,FileToSend ,DirFtp, FTP_TRANSFER_TYPE_BINARY,0);
	if ( !ResultFtp )
	MessageBox ( NULL,"Erreur lors de l'envoi." , "Ftp-It", MB_OK) ; else MessageBox ( NULL,"     Envoi réussi.      " , "Ftp-It", MB_OK) ;;
 
 
 
		}
 
/* Fermeture de la connexion ftp */
InternetCloseHandle ( hFTPSession );
 
/* Fermeture de la session */
InternetCloseHandle ( hInternetSession );
 
 
	return;
}
/*  Declare Windows procedure  */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
 
/*  Make the class name into a global variable  */
char szClassName[ ] = "WindowsApp";
 
int WINAPI WinMain (HINSTANCE hThisInstance,
                    HINSTANCE hPrevInstance,
                    LPSTR lpszArgument,
                    int nFunsterStil)
 
{
//init des variables
    char DirNameFileIni[255]="";				
    char NameServeurFtp[255]="";
    char LoginFtp[50]="";
    char PwdFtp[255]="";
    char DirFtp[255]="";
    char FileToSend[255]="";
	char DirFileTmp[255]="";
	char nom[255]="";
	char prout[255]="";
	// test du nombre de parmetres
if (__argc==2 || __argc==3 ||__argc==6) {
 
 
 
 
/* récuperation du nom du fichier à envoyer sans le path dans nom*/
char* orig=__argv[1];
int i=strlen(orig);
int q=i;
while (orig[q]!='\\'){q--;}
for (int p=0;(p+q)<i;p++){ nom[p]=orig[p+q+1];}
if (__argc==6){
strcpy(NameServeurFtp,__argv[1]); 
strcpy(LoginFtp,__argv[2]);
strcpy(PwdFtp,__argv[3]);
strcpy(FileToSend,__argv[4]);
strcpy(DirFtp,__argv[5]);
}
else //si on appelle juste avec le nom de fichier ou le nom + rep distant
{
/* récupération du path de l'executable pour connaitre l'emplacement du fichier ini
dans path
*/
orig=__argv[0];
i=strlen(orig);
q=i;
while (orig[q]!='\\'){q--;}
for (int r=0;r<=q;r++) {DirNameFileIni[r]=orig[r];}
 
strcat ( DirNameFileIni,NameFileIni );
 
// Récupération des params dans le ini
	GetPrivateProfileString ( "FTP" , "NAME_SERVEUR_FTP" , "" , NameServeurFtp , 255 , DirNameFileIni );
	GetPrivateProfileString ( "FTP" , "LOGIN_FTP" , "" , LoginFtp , 255 , DirNameFileIni );
	GetPrivateProfileString ( "FTP" , "PWD_FTP" , "" , PwdFtp , 255, DirNameFileIni );
//	
// si pas de repertoire spécifié par l'utilisateur on va le chercher dans l'ini
if (__argc==2) GetPrivateProfileString ( "FTP" , "DIR_FTP" , "" , DirFtp , 255 , DirNameFileIni );
//sinon on prend celui spécifié par l'utilisateur
else  strcpy(DirFtp,__argv[2]);
 
strcpy(FileToSend,__argv[1]); // le fichier à envoyer est le er parametre
	}
// concatenation du repertoire distant et du nom de fichier	
 
strcpy(prout,DirFtp);
strcat(prout,nom);
 
//envoi du fichier	
SendFileFtp(FileToSend,  				
    NameServeurFtp,
    LoginFtp,
     PwdFtp,
     prout);
 
}
	else  MessageBox ( NULL,"Erreur de parametres." , "Ftp-It", MB_OK);
 
}