화성 홈페이지와 서버 네트워크 검사 변경

29922 단어 서버
주 프로그램:
  1 using System;
  2 using System.Collections.Generic;
  3 using System.Linq;
  4 using System.Text;
  5 using System.Windows.Forms;
  6 using System.IO;
  7 using System.Diagnostics;
  8 using System.Text.RegularExpressions;
  9 namespace Maintenance
 10 {
 11     public partial class frm_Main : Form
 12     {
 13         int app_count = 0;
 14         public frm_Main()
 15         {
 16             InitializeComponent();
 17         }
 18 
 19         #region  
 20         private void Firefox_Set_button_Click(object sender, EventArgs e)
 21         {
 22             // 
 23             string Set_Path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\Mozilla\Firefox\profiles.ini";
 24             string Path2 = "";
 25             List<string> str = new List<string>();
 26             using (StreamReader reader = File.OpenText(Set_Path))
 27             {
 28                 string line = "";
 29                 while ((line = reader.ReadLine()) != null)
 30                 {
 31                     str.Add(line);
 32                 }            
 33             }
 34             string NewPath = "";
 35             if (str.Where(n => n.Equals("[Profile0]")).ToArray().Length > 0)
 36             {
 37                 string temp=str.Where(n => n.Contains("Path")).ToArray()[0];
 38                 Path2 = temp.Substring(5, temp.Length - 5);
 39                 NewPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\Mozilla\Firefox\" + Path2 + @"\prefs.js";
 40             }
 41             if (str.Where(n => n.Equals("[Profile1]")).ToArray().Length > 0)
 42             {
 43                 string temp = str.Where(n => n.Contains("Path")).ToArray()[0];
 44                 Path2 = temp.Substring(5, temp.Length - 5);
 45                 NewPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\Mozilla\Firefox\" + Path2 ;
 46             }
 47 
 48             StringBuilder builder = new StringBuilder();
 49             using (StreamReader reader = File.OpenText(NewPath))
 50             {
 51                 string line = "";
 52                 bool flag = true;
 53                 while ((line = reader.ReadLine()) != null)
 54                 {
 55                     if (line.Contains("\"browser.startup.homepage\"")&&flag==true)
 56                     {
 57                         builder.Append("user_pref(\"browser.startup.homepage\", \""+this.HomePage_textBox.Text.Trim()+"\");
"); 58 flag = false; 59 } 60 else 61 { 62 builder.Append(line+"
"); 63 } 64 } 65 } 66 File.WriteAllText(NewPath, builder.ToString()); 67 68 if(File.Exists(@"C:\Program Files (x86)\Mozilla Firefox\firefox.exe")) 69 { 70 Process pro = Process.Start(@"C:\Program Files (x86)\Mozilla Firefox\firefox.exe"); 71 pro.StartInfo.WindowStyle = ProcessWindowStyle.Maximized; 72 pro.WaitForInputIdle(1000); 73 if (pro.Responding) 74 { 75 SendKeys.SendWait("{F11}"); 76 } 77 } 78 } 79 #endregion 80 81 #region 82 83 private void Init() 84 { 85 // 86 this.HomePage_textBox.Text = System.Configuration.ConfigurationSettings.AppSettings["HomePage"]; 87 } 88 private void frm_Main_Load(object sender, EventArgs e) 89 { 90 this.Init(); 91 this.app_timer.Start(); 92 } 93 #endregion 94 95 #region 96 private void Exit_button_Click(object sender, EventArgs e) 97 { 98 Application.Exit(); 99 } 100 #endregion 101 102 private void PingServer_button_Click(object sender, EventArgs e) 103 { 104 Process p = new Process(); 105 p.StartInfo.FileName = "cmd.exe"; 106 p.StartInfo.UseShellExecute = false; 107 p.StartInfo.RedirectStandardInput = true; 108 p.StartInfo.RedirectStandardOutput = true; 109 p.StartInfo.RedirectStandardError = true; 110 p.StartInfo.CreateNoWindow = true; 111 112 p.Start(); 113 p.StandardInput.WriteLine("ping -n " + System.Configuration.ConfigurationSettings.AppSettings["PingCount"] + " " + System.Configuration.ConfigurationSettings.AppSettings["ServerIP"]); 114 p.StandardInput.WriteLine("exit"); 115 string strRst = p.StandardOutput.ReadToEnd(); 116 // 117 int count = 0; 118 MatchCollection m1 = Regex.Matches(strRst, @"(0% loss)"); 119 MatchCollection m2 = Regex.Matches(strRst, @"Destination host unreachable."); 120 MatchCollection m3 = Regex.Matches(strRst, @"Request timed out."); 121 MatchCollection m4 = Regex.Matches(strRst, @"Unknown host"); 122 count = m1.Count + m2.Count + m3.Count + m4.Count;; 123 124 File.WriteAllText(System.Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + @"\log.txt", strRst, Encoding.UTF8); 125 if (count >= int.Parse(System.Configuration.ConfigurationSettings.AppSettings["AlarmCount"])) 126 { 127 Process.Start(System.Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + @"\log.txt"); 128 MessageBox.Show(" , !", " "); 129 } 130 else 131 { 132 File.Delete(System.Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + @"\log.txt"); 133 MessageBox.Show("", " "); 134 } 135 } 136 137 #region 138 private void app_timer_Tick(object sender, EventArgs e) 139 { 140 app_count++; 141 if (app_count == 60 * int.Parse(System.Configuration.ConfigurationSettings.AppSettings["AppTime"])) 142 { 143 Application.Exit(); 144 } 145 } 146 #endregion 147 148 #region 149 private void ClientSet_button_Click(object sender, EventArgs e) 150 { 151 Firefox_Set_button_Click(null, null); 152 PingServer_button_Click(null,null); 153 } 154 #endregion 155 } 156 }

구성 파일:
 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <configuration>
 3   <appSettings>
 4     <add key="HomePage" value="http://www.cnblogs.com/"/>   <!-- -->
 5     <add key="ServerIP" value="192.168.1.1"/>               <!-- IP-->
 6     <add key="PingCount" value="100"/>                      <!--Ping -->
 7     <add key="AlarmCount" value="5"/>                       <!-- -->
 8     <add key="AppTime" value="10"/>                         <!---->
 9   </appSettings>
10 </configuration>

좋은 웹페이지 즐겨찾기