0

我是 .NET、c# 和 windows 编程的新手。我想增加 .NET Web 浏览器控件可以为每个服务器创建的最大连接数。我发现通过使用 wininet.dll 中的 InternetSetOption 函数更改 INTERNET_OPTION_MAX_CONNS_PER_SERVER 选项,我可以做到这一点。

我已经完成了以下导入。

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

msdn文档中,IntPtr lpBuffer 应该是一个无符号长整数。谁能告诉我如何为 unsigned long int 变量创建 IntPtr。

在 c# 中调用 InternetSetOption 以将最大连接数设置为 50 会有所帮助。

PS:我无法使用 regedit.exe 更改注册表设置来增加连接数

4

1 回答 1

0
[DllImport("WinInet.dll", CharSet = CharSet.Unicode, ExactSpelling = true, SetLastError = true)]
internal static extern Boolean InternetSetOption
(
    [In] IntPtr hInternet,
    [In] UInt32 dwOption,
    [In] IntPtr lpBuffer,
    [In] UInt32 lpdwBufferLength
);

只需尝试:

NativeMethods.InternetSetOption(IntPtr.Zero, INTERNET_OPTION_MAX_CONNS_PER_SERVER, 10, 4);

你不应该在这里需要一个指针。

于 2013-01-21T13:27:12.820 回答