如何使用InternetSetOption?我详细介绍了here。它还说明了与OptionFlags相关的事情。有谁知道如何将第二个参数用于函数?可以找到here的信息。它有点令人困惑,例如
INTERNET_OPTION_CONNECTED_STATE
:50:
设置或检索包含连接状态的无符号长整数值。这由InternetQueryOption和InternetSetOption使用。
如果我传递50作为第二个参数是什么意思?
答案 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设置代理,您可以使用不同的签名来更轻松地传递所需的结构。