如何使用InternetSetOption

时间:2011-05-30 10:14:54

标签: .net internet-explorer function

如何使用InternetSetOption?我详细介绍了here。它还说明了与OptionFlags相关的事情。有谁知道如何将第二个参数用于函数?可以找到here的信息。它有点令人困惑,例如

INTERNET_OPTION_CONNECTED_STATE:50:

  

设置或检索包含连接状态的无符号长整数值。这由InternetQueryOption和InternetSetOption使用。

如果我传递50作为第二个参数是什么意思?

1 个答案:

答案 0 :(得分:0)

你到底想要完成什么?

一般来说,您不应该尝试设置 INTERNET_OPTION_CONNECTED_STATE,因为这是由系统自动设置的,并允许您收集有关系统网络连接状态的信息。

您通常使用InternetSetOption API:

// Announce to the world that we've changed the proxy
InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY_SETTINGS_CHANGED, IntPtr.Zero, 0);

// ISSUE: We're using ANSI here because calling functions marshal in ANSI. MSDN suggests that W-versions might not work in older IE versions.
[DllImport("wininet.dll", SetLastError=true, CharSet=CharSet.Ansi)]  
[return: MarshalAs(UnmanagedType.Bool)]
private static extern bool InternetSetOption(IntPtr hInternet, int Option, [In] IntPtr buffer, Int32 BufferLength);

但如果您正在做一些更复杂的事情,比如使用INTERNET_PER_CONN_OPTION设置代理,您可以使用不同的签名来更轻松地传递所需的结构。