代码如下:
第一次可以得到所上传的确文件大小,第二次时InternetOpen的返回值为0了.char        g_chSourFileName[10][MAX_PATH];
char        g_chDestFileName[10][MAX_PATH];BOOL ftpTest()
{
    int         i = 0 ;
    BOOL        bResult ;
HINTERNET   hInternet;
HINTERNET   hConnect;    DWORD dwFileSize;
    DWORD   dwFileSizeHigh;
    HINTERNET  hFileOpen; hInternet=InternetOpen( NULL,INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,INTERNET_FLAG_NO_CACHE_WRITE|INTERNET_FLAG_ASYNC);
if(hInternet == NULL)
{
return FALSE;
}

hConnect=InternetConnect(hInternet,"127.0.0.1",INTERNET_DEFAULT_FTP_PORT,"abc","abc",INTERNET_SERVICE_FTP,
                INTERNET_FLAG_PASSIVE | INTERNET_FLAG_EXISTING_CONNECT,NULL); if(hConnect == NULL)
{
    InternetCloseHandle(hInternet);
return FALSE;
}

    for(i  = 0 ; i < 10 ; i++)
    {
        bResult = FtpPutFile(hConnect,g_chSourFileName[i],g_chDestFileName[i],FTP_TRANSFER_TYPE_BINARY|INTERNET_FLAG_RELOAD, NULL);
     if(bResult != TRUE)
     {
     InternetCloseHandle(hConnect);
         InternetCloseHandle(hInternet);
            return FALSE;
    }        hFileOpen = FtpOpenFile(hConnect,g_chDestFileName[i],GENERIC_READ,INTERNET_FLAG_TRANSFER_BINARY|INTERNET_FLAG_RELOAD,NULL);
    if(hFileOpen == NULL)
    {
     InternetCloseHandle(hConnect);
     InternetCloseHandle(hInternet);
            return FALSE;
     }
        dwFileSize = FtpGetFileSize(hFileOpen,&dwFileSizeHigh);        TRACE("%s---->%d\n",g_chDestFileName[i],dwFileSize);
    }
 
        
InternetCloseHandle(hConnect);
InternetCloseHandle(hInternet); return TRUE;
}void CFTPDlg::OnStart() 
{
    int         i = 0;
    
    for(i = 0 ; i < 10 ; i++)    
    {   
        memset(g_chSourFileName[i],0,sizeof(g_chSourFileName[i]));
        sprintf(g_chSourFileName[i],"c:\\cpp%d.pdf",i);
    }    for(i = 0 ; i < 10 ; i++)
    {
        memset(g_chDestFileName[i],0,sizeof(g_chDestFileName[i]));
        sprintf(g_chDestFileName[i],"ok%d.pdf",i);
    }
        
ftpTest();
}