時間: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成功?。┤∠頃r候,右擊托盤圖標,選擇退出,取消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攔截,這個不多說了- –
就這樣吧~
新聞熱點
疑難解答