论坛风格切换切换到宽版
  • 4070阅读
  • 1回复

[求助][原创]“浏览器代理设置助手”及相关问题 [复制链接]

上一主题 下一主题
离线溪流
 

发帖
565
金钱
-10380
威望
-1038
只看楼主 倒序阅读 0 发表于: 2006-01-01
不知道其什么名字好,就叫“浏览器代理设置助手”吧。

因为每次上网前得把代理去掉,上了后又要把代理开起来,这样很麻烦,所以写了这个。

运行后会在系统托盘放一个图标,单击它就会改变代理开关状态(相当于在 “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 的数据类型……请教各位大人~~~
附件: PrxHp.zip (11 K) 下载次数:4
因为用纸过大不利环保,2009年6月1日起,禁止使用纸质材料擦屁股,提倡公民养成不擦屁股或自带可重用抹布的习惯。违者最高可处以菊爆。
离线无眠浪子

发帖
282
金钱
10
威望
1
只看该作者 1 发表于: 2006-01-02
支持一下!!!!!!!!!!!!!!!!!!!!!!!!继续更好的!!!我也是学的!!!
男人事業最重要,沒有事業,何談愛情,沒有溫馨的家,哪有似蜜的情!生活就是這樣的誰也不會欺騙誰,除非你欺騙L