Windowsregistry中的DefaultConnectionSettings值的格式是什么?

Windowsregistry项HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ Connections包含一个名为DefaultConnectionSettings的二进制值,该值存储有关用户代理configuration的各种数据。 这个数据的确切格式是什么?

到目前为止,我所能find的就是这个论坛post的内容, 这个论坛并不完整,在某些方面似乎是错误的。

Solutions Collecting From Web of "Windowsregistry中的DefaultConnectionSettings值的格式是什么?"

我发现这可能会帮助你!

0. keep this value 1. "00" placeholder 2. "00" placeholder 3. "00" placeholder 4. "xx" increments if changed 5. "xx" increments if 4. is "FF" 6. "00" placeholder 7. "00" placeholder 8. "01"=proxy deaktivated; other value=proxy enabled 9. "00" placeholder 10. "00" placeholder 11. "00" placeholder 12. "xx" length of "proxyserver:port" 13. "00" placeholder 14. "00" placeholder 15. "00" placeholder "proxyserver:port" if 'Bypass proxy for local addresses'::: other stuff with unknown length "<local>" 36 times "00" if no 'Bypass proxy for local addresses'::: 40 times "00" 

而不是直接读/写注册表值,您应该使用WinInet的InternetQueryOption()InternetSetOption()函数。

有了这个说法,看看这些:

如何以编程方式为拨号连接设置“自动配置脚本”?

http://www.visualbasicscript.com/fb.ashx?m=76412

只是想扩大Zain Ali的回答(作为一个答案,因为我没有足够的声望点评论),当然,感谢Zain张贴他们所做的信息,因为它帮助我很大,当我想图休息一下。

数字8比仅仅显示代理被禁用或没有更复杂一点。 它还设置了另外两个复选框。

将数字8设置为“01”将取消选中该框以启用代理,取消选中“自动检测设置”框并使用该脚本。

然而,将数字8设置为“0f”可以实现一切。

要清楚的是,这第8个字节基本上是设置标志。 据我所知,字节的最低有效位始终是“1”。 如果选中手动代理设置复选框,则第二个最低有效位为“1”。 如果选中了使用脚本的框,则第三个最低有效位为“1”,并为脚本提供地址。 第四个最不重要的位是设置复选框“自动检测设置”(基本上,将这些位设置为1将检查框,0取消选中它们)

我已经去设置为“03”,只有手动代理

另外,“长度未知的其他东西”似乎是不正确的,因为长度是已知的。 之后被引用的东西是由分号分隔的代理的例外列表。 这个列表的长度是“proxyserver:port”之后的字节。 结合填充的3“00”,说明所提到的4个字节的差别取决于你所拥有的不同。

 0. keep this value 1. "00" placeholder 2. "00" placeholder 3. "00" placeholder 4. "xx" increments if changed 5. "xx" increments if 4. is "FF" 6. "00" placeholder 7. "00" placeholder 8. "03"=enable proxy, enable auto detect settings, auto script etc 9. "00" placeholder 10. "00" placeholder 11. "00" placeholder 12. "xx" length of "proxyserver:port" 13. "00" placeholder 14. "00" placeholder 15. "00" placeholder "proxyserver:port" "xx" length of proxy exception list "00" placeholder "00" placeholder "00" placeholder Proxy Exception list delimited by semi-colons (use "<local>" to exclude local addresses) 36 times "00" 

我花了相当长的一段时间试图把这一切都弄清楚,所以希望我没有遗漏任何东西。

我已经做了一个批处理脚本,你可以给它的代理服务器和端口,以及你的异常列表,它会自动创建二进制代码,并将其粘贴到注册表中需要的位置(假设第8个字节是“ 03" )。

将代码更改为仅打印出二进制代码,而不是将整个“reg add”行替换为“echo%data%”将是微不足道的。

另外请注意,我在下面提供的脚本正在改变HKLM键,因为我正在使用脚本来设置机器范围的代理与GPO结合使用。 改为HKCU应该修复这个问题。

这可以在这里找到(如果你对批处理很好,随时让脚本更好,因为我不太熟悉它,我想它可能会显示在代码中): https : //gist.github.com/ hallzy / b7dfba5f71c0251f1139f8c531cd7817