화성 홈페이지와 서버 네트워크 검사 변경
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>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
집 서버 설계 (하드웨어 편)자신의 Redmine이나 ownCloud를 운용하기 위해 사쿠라 VPS, DigitalOcean, OpenShift 등을 놀랐습니다만, 침착 해 왔으므로 현상을 정리하고 싶습니다. 먼저 하드웨어 구성을 정리합니다. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.