Desktop Functions:

   Smart Device Functions:

Show Recent Changes
Subscribe (RSS)
Misc. Pages
Helpful Tools
Suggested Reading
Website TODO List
Support Forum
Download Visual Studio Add-In

Terms of Use
Privacy Policy
internetsetoption (wininet)
TODO - a short description

C# Signature:

[DllImport("wininet.dll", SetLastError = true, CharSet=CharSet.Auto)]
public static extern bool InternetSetOption(IntPtr hInternet, int
dwOption, IntPtr lpBuffer, int dwBufferLength);

VB Signature:

<DllImport("wininet.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Public Shared Function InternetSetOption(hInternet As IntPtr, dwOption As Integer, lpBuffer As IntPtr, dwBufferLength As Integer) As Boolean
End Function

User-Defined Types:


Alternative Managed API:

Do you know one? Please contribute it!


For querying current settings use InternetQueryOption.

Tips & Tricks:

Please add some!

Sample Code:

public struct Struct_INTERNET_PROXY_INFO
     public int dwAccessType;
     public IntPtr proxy;
     public IntPtr proxyBypass;

[DllImport("wininet.dll", SetLastError = true)]
     private static extern bool InternetSetOption(IntPtr hInternet,
     int dwOption,
     IntPtr lpBuffer,
     int lpdwBufferLength);

private void RefreshIESettings(string strProxy)
     const int INTERNET_OPTION_PROXY = 38;
     const int INTERNET_OPEN_TYPE_PROXY = 3;  

     Struct_INTERNET_PROXY_INFO struct_IPI;

     // Filling in structure
     struct_IPI.dwAccessType = INTERNET_OPEN_TYPE_PROXY;
     struct_IPI.proxy = Marshal.StringToHGlobalAnsi(strProxy);
     struct_IPI.proxyBypass = Marshal.StringToHGlobalAnsi("local");

     // Allocating memory
     IntPtr intptrStruct = Marshal.AllocCoTaskMem(Marshal.SizeOf(struct_IPI));

     // Converting structure to IntPtr
     Marshal.StructureToPtr(struct_IPI, intptrStruct, true);

     bool iReturn = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, intptrStruct, Marshal.SizeOf(struct_IPI));

private void SomeFunc()
     //or RefreshIESettings(""); //both worked
     //or RefreshIESettings("http="); //both worked

     System.Object nullObject = 0;
     string strTemp = "";
     System.Object nullObjStr = strTemp;
     axWebBrowser1.Navigate("", ref nullObject, ref nullObjStr, ref nullObjStr, ref nullObjStr);


Please edit this page!

Do you have...

  • helpful tips or sample code to share for using this API in managed code?
  • corrections to the existing content?
  • variations of the signature you want to share?
  • additional languages you want to include?

Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).

Access directly from VS:
Terms of Use
Edit This Page
Find References
Show Printable Version