我是.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 doc,IntPtr lpBuffer应该是unsigned long int。任何人都可以告诉我如何为无符号长整型变量创建IntPtr。
在c#中调用InternetSetOption以将最大连接数设置为50将有所帮助。
PS:我无法使用regedit.exe更改注册表设置来增加连接数
答案 0 :(得分: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);
这里你不需要指针。