不知道其什么名字好,就叫“浏览器代理设置助手”吧。
因为每次上网前得把代理去掉,上了后又要把代理开起来,这样很麻烦,所以写了这个。
运行后会在系统托盘放一个图标,单击它就会改变代理开关状态(相当于在 “Internet 选项”|“连接”|“局域网设置” 里面把勾勾打上或者去掉)。
单击改变代理状态后要重新打开浏览器才能生效。
大家没事来玩玩吧,顺便帮偶测试~
[attachmentid=18612]
(含 VB 源代码)
问题
一、单击改变代理状态后要重新打开浏览器才能生效。而如果用 Internet 选项里面的来设置却能够即时生效。不知道为什么。
我监视过它的注册表操作,结论是
HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings 下的 ProxyEnable,0表示关闭,1表示开启
HKLM\SYSTEM\ControlSet001\Hardware Profiles\0001\Software\Microsoft\windows\CurrentVersion\Internet Settings 下的 ProxyEnable,0表示关闭,1表示开启
HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections 下的 DefaultConnectionSettings 和 SavedLegacySettings ,代理关闭时他们的第九个字节为 01H,代理开启时为 03H。每改变一次代理状态前一个第五字节加1,后一个第五字节加2
我在程序中改的就是上述这些。但是不能立即生效。谁帮忙研究一下?
二、写 ProxyEnable 这个 DWORD 时,我弄来弄去最后只能这样了:
RegSetValueEx hKey, "ProxyEnable", 0, REG_DWORD, Flag + 1, 4
其中 Flag 是先前读取的该键键值。第五个参数我用 Flag +1,当原来为 0 时能在注册表中写 1,可是我不知道这个 1 能否直接表达,怎么写?用 1,&H1 等都失败了。不懂 VB 的数据类型……请教各位大人~~~