SAMPLE: Using FTP WinInet APIs in Visual Basic with SimpleFtp

Article translations Article translations
Article ID: 195653 - View products that this article applies to.
This article was previously published under Q195653
Expand all | Collapse all

On This Page


This sample file demonstrates how to use WinInet FTP APIs in a Visual Basic (VB) application.

More information

The sample demonstrates the following concepts:
  • How to enumerate a directory on the FTP server and return file information such as creation date and size.
  • How to upload large files to the FTP server without blocking the entire application and with reporting transfer progress. There are two ways of uploading a file:
    • By using the FtpPutFile() API. However, this API blocks until the entire file has been uploaded. Upon clicking the Put button, the sample will use this method.
    • By using FtpOpenFile and InternetWriteFile. Once the file is open it can be uploaded in chunks. This enables the application to report upload status and avoid blocking. It does this by calling DoEvents() between calling InternetWriteFile. Upon clicking the Put Large File button, the sample will use this method.
  • How to get text information for WinInet errors and how to retrieve extended error information. For simplicity, the sample does not implement downloading of the large files. This functionality is similar to method b) above; however, you should use the InternetReadFile API instead of InternetWriteFile.


  • This sample uses pre-configured access to the Internet. WinInet FTP APIs do not work if Internet access is accomplished via CERN type proxy.
  • This sample was created with Visual Basic 6.0. There may be an error if the project is opened in Visual Basic5.0.
  • WinInet documentation can be found at the following Web site:
    MSDN Library
Click "Networking, Protocols & Data Formats" in the Table of Contents, then click "Win32 Internet Functions."

The following file is available for download from the Microsoft Download Center:
For additional information about how to download Microsoft Support files, click the following article number to view the article in the Microsoft Knowledge Base:
119591 How to Obtain Microsoft Support Files from Online Services
Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help to prevent any unauthorized changes to the file. Vbsmpftp.exe contains the following files:

   FileName               Size

   ErrorForm.frm           1,216
   ErrorForm.frx           6
   readme.txt              1,869
   SimpleFtp.bas           5,364
   SimpleFtp.exe           40,960
   SimpleFtp.frm           13,491
   SimpleFtp.vbp           646
   SimpleFtp.vbw           118


For additional information, please see the following articles in the Microsoft Knowledge Base:
166961 HOWTO: FTP with CERN-Based Proxy Using WinInet API

193625 WinInet Error Codes (12001 through 12156)

216214 SAMPLE: FTP with CERN-Based Password Protected Proxy


Article ID: 195653 - Last Review: August 7, 2012 - Revision: 3.0
Applies to
  • Microsoft Internet Client Software Development Kit 4.01
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
kbdownload kbfile kbinfo kbsample KB195653

Give Feedback


Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from