时间:2015-02-06
起因: 公司新装了PLM系统,用这个系统必须使用指定ip段的IP才能访问。所以为了还能愉快的继续使用代理进行特定网站的访问,我们必须要频繁的去设置IE代理,这也太麻烦了吧。。。(其实可以用Chrome的SwitchOmega插件),那就搞个小程序吧~
功能实现: 通过修改注册表,来修改IE代理的修改。
核心代码:
Microsoft.Win32.RegistryKey rk =Microsoft.Win32.Registry.CurrentUser.OpenSubKey
(@"SoftwareMicrosoftWindowsCurrentVersionInternet Settings",true);
rk.SetValue("PRoxyEnable",1);
rk.SetValue("ProxyServer","192.168.10.7:9999");
rk.Flush();//刷新注册表rk.Close();//Reflush();notifyIcon1.ShowBalloonTip(500,"状态信息","开启成功!", ToolTipIcon.Info);
以上就是这个程序的核心代码了,代码很简单。虽然是个小程序吧,但是为了让他易用,我们还需要一点其他的编写。
程序设计思路:双击程序开始运行,缩小到右下角托盘,托盘通知修改启动成功!(一定不能显示IE修改为xxx成功!)取消代理时候,右击托盘图标,选择退出,取消IE代理。
易用功能实现:首先我们去工具栏找两个控件:notifyIcon、contextMenuStrip。这两个控件分别是为了实现托盘通知和右键菜单功能。
易用功能代码实现:
this.WindowState = FormWindowState.Minimized;//最小化程序this.ShowInTaskbar =false;//使Form不在任务栏上显示notifyIcon1.Visible =true;//通知图标可见try{
..........///修改IE代理notifyIcon1.ShowBalloonTip(500,"状态信息","开启成功!", ToolTipIcon.Info);//显示500ms,通知标题,通知内容,通知图标}catch{
notifyIcon1.ShowBalloonTip(500,"状态信息","开启失败,请重试!", ToolTipIcon.Error);
}
这样就实现了IE代理的开启,托盘通知。
然后我们为托盘图标设置ICON和右键退出功能:
选中notifyIcon控件,设置3个属性:1:ContextMenuStrip值:(选择我们的contextMenuStrip1控件) 2:Icon值(随便选一个你喜欢的图片)3:Text(鼠标悬停托盘图标的文字信息)。
然后我们就可以选择contextMenuStrip1,为它添加“退出”项目,如图
-----------------------------------------------------------------------------破图-----------------------------------------------------------
,双击“退出”,为它写功能吧:
//打开注册表键Microsoft.Win32.RegistryKey rk =Microsoft.Win32.Registry.CurrentUser.OpenSubKey
(@"SoftwareMicrosoftWindowsCurrentVersionInternet Settings",true);//设置代理不可用rk.SetValue("ProxyEnable",0);
rk.Flush();//刷新注册表rk.Close();//Reflush();this.Close()
到这基本就完了,最后呢我们选择项目–属性,把.net框架选为.net2.0 (毕竟很多人没装高的.net框架),换个好看的图标。再删除多余的引用,这个程序就完成了~
未填的坑:1:设置IE代理和取消IE代理,必须重启IE才能生效,找了一圈方法,都不试用(Win7,IE11)。
2: 360拦截,这个不多说了- –
就这样吧~