You are currently offline, waiting for your internet to reconnect

How to make the WebBrowser control use a proxy server

This article describes an All-In-One Code Framework sample that is available for download. The sample demonstrates how to make the WebBrowser control use a proxy server.

Difficulty level

Download information

To download this code sample, click one of the following links:


Technical overview

In Internet Explorer 5 and later versions of Internet Explorer 5, Internet options can be set on a specific connection and process. For example, Internet options can be set on the LAN connection or on the ADSL connection. Wininet.dll component contains the following four extern methods to set and retrieve Internet settings:
  • InternetOpen
  • InternetCloseHandle
  • InternetSetOption
  • InternetQueryOption

Sample overview

/// <summary>        /// Initialize an application's use of the WinINet functions.        /// See         /// </summary>        [DllImport("wininet.dll", SetLastError = true, CharSet = CharSet.Auto)]        internal static extern IntPtr InternetOpen(            string lpszAgent,            int dwAccessType,            string lpszProxyName,            string lpszProxyBypass,            int dwFlags);         /// <summary>        /// Close a single Internet handle.        /// </summary>        [DllImport("wininet.dll", SetLastError = true)]        [return: MarshalAs(UnmanagedType.Bool)]        internal static extern bool InternetCloseHandle(IntPtr hInternet);         /// <summary>        /// Sets an Internet option.        /// </summary>        [DllImport("wininet.dll", CharSet = CharSet.Ansi, SetLastError = true)]        internal static extern bool InternetSetOption(            IntPtr hInternet,            INTERNET_OPTION dwOption,            IntPtr lpBuffer,            int lpdwBufferLength);         /// <summary>        /// Queries an Internet option on the specified handle. The Handle will be always 0.        /// </summary>        [DllImport("wininet.dll", CharSet = CharSet.Ansi, SetLastError = true)]        internal extern static bool InternetQueryOption(            IntPtr hInternet,            INTERNET_OPTION dwOption,            ref INTERNET_PER_CONN_OPTION_LIST OptionList,            ref int lpdwBufferLength);

Technology category

  • Windows Forms
  • Network


This code sample is available in the following programming languages:
LanguageProject Name
Visual C#CSWebBrowserWithProxy
Visual Basic.NETVBWebBrowserWithProxy


This sample application is developed by using Microsoft Visual Studio 2010 and Microsoft .NET Framework 4.


For more information the InternetSetOption function, visit the following MSDN website: For more information the InternetQueryOption function, visit the following MSDN website:For more information the INTERNET_PER_CONN_OPTION structure, visit the following MSDN website:For more information how to set and retrieve Internet options, visit the following MSDN website:

What is All-In-One Code Framework?

All-In-One Code Framework shows most Microsoft development techniques by using code samples in different programming languages. Each example is carefully selected, composed, and documented to show one common code scenario. For more information about All-In-One Code Framework, visit the following Microsoft website:

How to find more All-In-One Code Framework samples

To find more All-In-One Code Framework samples, search for "kbcodefx" together with related keywords on the Microsoft support Web site. Or, visit the following Microsoft website:
Rapid publishing disclaimer
Microsoft corporation and/or its respective suppliers make no representations about the suitability, reliability, or accuracy of the information and related graphics contained herein. All such information and related graphics are provided "as is" without warranty of any kind. Microsoft and/or its respective suppliers hereby disclaim all warranties and conditions with regard to this information and related graphics, including all implied warranties and conditions of merchantability, fitness for a particular purpose, workmanlike effort, title and non-infringement. You specifically agree that in no event shall Microsoft and/or its suppliers be liable for any direct, indirect, punitive, incidental, special, consequential damages or any damages whatsoever including, without limitation, damages for loss of use, data or profits, arising out of or in any way connected with the use of or inability to use the information and related graphics contained herein, whether based on contract, tort, negligence, strict liability or otherwise, even if Microsoft or any of its suppliers has been advised of the possibility of damages.
Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.

Article ID: 2563548 - Last Review: 06/24/2011 03:49:00 - Revision: 1.0

  • kbcodefx kbinfo kbsurveynew kbnomt kbrapidpub atdownload KB2563548