时间: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", );
rk.SetValue("ProxyServer", "192.168.10.7:9999");
rk.Flush(); //刷新注册表
rk.Close(); // Reflush(); notifyIcon1.ShowBalloonTip(, "状态信息", "开启成功!", ToolTipIcon.Info);

以上就是这个程序的核心代码了,代码很简单。虽然是个小程序吧,但是为了让他易用,我们还需要一点其他的编写。

程序设计思路:双击程序开始运行,缩小到右下角托盘,托盘通知修改启动成功!(一定不能显示IE修改为xxx成功!)取消代理时候,右击托盘图标,选择退出,取消IE代理。

易用功能实现:首先我们去工具栏找两个控件:notifyIconcontextMenuStrip。这两个控件分别是为了实现托盘通知和右键菜单功能。

易用功能代码实现:

this.WindowState = FormWindowState.Minimized;//最小化程序
this.ShowInTaskbar = false;//使Form不在任务栏上显示
notifyIcon1.Visible = true;//通知图标可见
try
{
.......... ///修改IE代理 notifyIcon1.ShowBalloonTip(, "状态信息", "开启成功!", ToolTipIcon.Info);
//显示500ms,通知标题,通知内容,通知图标
}
catch
{
notifyIcon1.ShowBalloonTip(, "状态信息", "开启失败,请重试!", 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", );
rk.Flush(); //刷新注册表
rk.Close();
// Reflush();
this.Close()

到这基本就完了,最后呢我们选择项目–属性,把.net框架选为.net2.0 (毕竟很多人没装高的.net框架),换个好看的图标。再删除多余的引用,这个程序就完成了~

未填的坑:1:设置IE代理和取消IE代理,必须重启IE才能生效,找了一圈方法,都不试用(win7 ,IE11)。

2: 360拦截,这个不多说了- –

就这样吧~

快捷设置IE代理小工具的更多相关文章

  1. 安装linux下面用来配置网络,防火墙,系统服务等设置的图形小工具Setup

    Setup命令是linux下面用来配置网络,防火墙,系统服务等设置的图形小工具.使用起来非常方便简单,可是centos\redhat最小化安装之后发现setup命令工具用不了. 接下来介绍如何安装se ...

  2. mixer音量的设置:amixer小工具的…

    1.关于alsa-utils和lib的移植我的上一篇博文中已经说明了,下面我就来说说我的混音器mixer音量控制的调节过程,网上的很多方法都是比较基本的入门没有知名具体的操作方法,在此我来谈谈我的设置 ...

  3. 快捷切换hosts的小工具:SwitchHosts!

    Windows 绿色版本下载:http://oldj.github.io/SwitchHosts/. 日常开发工作中,我们可能经常需要切换各种 hosts 绑定,比如在本地开发时可能需要一个开发环境的 ...

  4. java设置环境变量小工具

    unit MainUnit; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Fo ...

  5. 【原】得心应手小工具开发——IE代理快速切换工具

    一.引入 因为公司里上外网要经常换IE代理地址,每次切换地址都要进到Internet Options里去设置一番,经常切换的话很是麻烦,由于用了点时间作个小工具来方便自己. 二.实现思路 其实思路很简 ...

  6. 中小研发团队架构实践之生产环境诊断工具WinDbg 三分钟学会.NET微服务之Polly 使用.Net Core+IView+Vue集成上传图片功能 Fiddler原理~知多少? ABP框架(asp.net core 2.X+Vue)模板项目学习之路(一) C#程序中设置全局代理(Global Proxy) WCF 4.0 使用说明 如何在IIS上发布,并能正常访问

    中小研发团队架构实践之生产环境诊断工具WinDbg 生产环境偶尔会出现一些异常问题,WinDbg或GDB是解决此类问题的利器.调试工具WinDbg如同医生的听诊器,是系统生病时做问题诊断的逆向分析工具 ...

  7. Confluence 6 外部小工具在其他应用中设置可信关系

    为了在你的 Confluence 中与其他应用建立外部小工具,我们建议你在 2 个应用之间设置 OAuth 或者信任的应用连接关系.在这个例子中,外部应用为小工具的服务器(服务器提供者)和 Confl ...

  8. 小工具-IP地址获取和设置及端口访问验证(windows)

    技术部在业务部门眼里就是后勤部门,业务部门要搬到新大楼去 领导要求去帮忙调试业务人员的电脑,要保证这些大爷们周一上班来,就喝着茶打开新浪,然后打开OA看看. 手上就几个桌面支持的兄弟,要弄一百台多电脑 ...

  9. 小工具:天气查询 Vs自定义设置 DevGridControl中GridView排序问题 小工具:火车票查询 小工具:邮件发送 小工具:截图&简单图像处理

    小工具:天气查询   开发一个天气查询的工具主要由两步构成,一是数据的获取,二是数据的展示.  一.数据获取 数据获取又可以分为使用其它公司提供的API和手动抓取其它网站数据. 1. 某公司提供的AP ...

随机推荐

  1. 移植最新u-boot(裁剪和修改默认参数)之韦东山笔记

    1.下载.建立source insight工程.编译.烧写.如果无运行分析原因 tar xjf u-boot-2012.04.01.tar.bz2 cd u-boot-2012.04.01 make ...

  2. [改善Java代码]构造代码块会想你所想

    建议37: 构造代码块会想你所想 镜像博文:http://www.cnblogs.com/DreamDrive/p/5413408.html http://www.cnblogs.com/DreamD ...

  3. Redis--分布式锁

    在高并发的使用场景下,如何让redis里的数据尽量保持一致,可以采用分布式锁.以分布式锁的方式来保证对临界资源的互斥读写. redis使用缓存作为分布式锁,性能非常强劲,在一些不错的硬件上,redis ...

  4. poj 2289 网络流 and 二分查找

    #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #d ...

  5. js验证 button 提交

    <form class="form-horizontal" role="form" action="member_add" metho ...

  6. Linux - 文件的压缩与归档

    文件压缩 常用的压缩命令有 gzip.bzip2 等. gzip 命令 命令格式 gzip [ -acdfhlLnNrtvV19 ] [-S suffix] [ name ...  ] 命令参数 -c ...

  7. 在多个linux服务器上执行一个命令

    把服务器的ip地址写到list.txt中 192.168.37.3 192.168.37.4 192.168.37.6 然后运行 for i in `cat list.txt`;do ssh user ...

  8. 第十二篇、Swift_Sqlite的使用

    import UIKit class SQLiteManager: NSObject { private static let manager: SQLiteManager = SQLiteManag ...

  9. 使用百度zrender, demo抛砖引玉.

    http://www.just.org.cn/zrender/index.html https://github.com/ecomfe/zrender 目录结构: |-project    |-dem ...

  10. The C in C++

    1 unnamed arguments in the argument list of the function definition (Page 114) In c++, an argument m ...