From 382aaafc5ac12df0f9c8d4dc4a6e72734d075009 Mon Sep 17 00:00:00 2001 From: Left024 Date: Fri, 16 Apr 2021 20:13:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E9=AB=98=E5=90=AF=E5=8A=A8=E4=BC=98?= =?UTF-8?q?=E5=85=88=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/NTU/v16/.suo | Bin 54784 -> 112128 bytes NTU.sln | 6 + NTU/App.config | 1 + NTU/Form1.Designer.cs | 25 +- NTU/Form1.cs | 314 +++++++++++++---- NTU/NTU.csproj | 14 +- NTU/ProjectInstaller.Designer.cs | 37 ++ NTU/ProjectInstaller.cs | 19 + NTU/Properties/AssemblyInfo.cs | 4 +- NTU/app.manifest | 71 ++++ .../DesignTimeResolveAssemblyReferences.cache | Bin 1435 -> 972 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 7529 -> 7859 bytes NTU/obj/Debug/NTU.TrustInfo.xml | 11 - NTU/obj/Debug/NTU.application | 21 -- .../Debug/NTU.csproj.CoreCompileInputs.cache | 2 +- NTU/obj/Debug/NTU.csproj.FileListAbsolute.txt | 10 +- .../Debug/NTU.csproj.GenerateResource.cache | Bin 1012 -> 1012 bytes .../Debug/NTU.csprojAssemblyReference.cache | Bin 7005 -> 45086 bytes NTU/obj/Debug/NTU.exe | Bin 29696 -> 35328 bytes NTU/obj/Debug/NTU.exe.manifest | 93 ----- NTU/obj/Debug/NTU.pdb | Bin 50688 -> 56832 bytes NTU_Autoboot/App.config | 6 + NTU_Autoboot/NTU_Autoboot.csproj | 83 +++++ NTU_Autoboot/Program.cs | 25 ++ NTU_Autoboot/ProjectInstaller.Designer.cs | 60 ++++ NTU_Autoboot/ProjectInstaller.cs | 19 + NTU_Autoboot/ProjectInstaller.resx | 129 +++++++ NTU_Autoboot/Properties/AssemblyInfo.cs | 36 ++ NTU_Autoboot/Service1.Designer.cs | 41 +++ NTU_Autoboot/Service1.cs | 331 ++++++++++++++++++ NTU_Autoboot/Service1.resx | 123 +++++++ NTU_Autoboot/bin/Debug/NTU_Autoboot.exe | Bin 0 -> 12288 bytes .../bin/Debug/NTU_Autoboot.exe.config | 6 + NTU_Autoboot/bin/Debug/NTU_Autoboot.pdb | Bin 0 -> 38400 bytes NTU_Autoboot/bin/Debug/SimpleWifi.dll | Bin 0 -> 54784 bytes ...ework,Version=v4.7.2.AssemblyAttributes.cs | 4 + .../DesignTimeResolveAssemblyReferences.cache | Bin 0 -> 1162 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 7248 bytes .../NTU_Autoboot.ProjectInstaller.resources | Bin 0 -> 180 bytes .../obj/Debug/NTU_Autoboot.Service1.resources | Bin 0 -> 180 bytes .../Debug/NTU_Autoboot.csproj.CopyComplete | 0 ...TU_Autoboot.csproj.CoreCompileInputs.cache | 1 + .../NTU_Autoboot.csproj.FileListAbsolute.txt | 11 + ...NTU_Autoboot.csproj.GenerateResource.cache | Bin 0 -> 1011 bytes NTU_Autoboot/obj/Debug/NTU_Autoboot.exe | Bin 0 -> 12288 bytes NTU_Autoboot/obj/Debug/NTU_Autoboot.pdb | Bin 0 -> 38400 bytes NTU_Autoboot/packages.config | 4 + 47 files changed, 1306 insertions(+), 201 deletions(-) create mode 100644 NTU/ProjectInstaller.Designer.cs create mode 100644 NTU/ProjectInstaller.cs create mode 100644 NTU/app.manifest delete mode 100644 NTU/obj/Debug/NTU.TrustInfo.xml delete mode 100644 NTU/obj/Debug/NTU.application delete mode 100644 NTU/obj/Debug/NTU.exe.manifest create mode 100644 NTU_Autoboot/App.config create mode 100644 NTU_Autoboot/NTU_Autoboot.csproj create mode 100644 NTU_Autoboot/Program.cs create mode 100644 NTU_Autoboot/ProjectInstaller.Designer.cs create mode 100644 NTU_Autoboot/ProjectInstaller.cs create mode 100644 NTU_Autoboot/ProjectInstaller.resx create mode 100644 NTU_Autoboot/Properties/AssemblyInfo.cs create mode 100644 NTU_Autoboot/Service1.Designer.cs create mode 100644 NTU_Autoboot/Service1.cs create mode 100644 NTU_Autoboot/Service1.resx create mode 100644 NTU_Autoboot/bin/Debug/NTU_Autoboot.exe create mode 100644 NTU_Autoboot/bin/Debug/NTU_Autoboot.exe.config create mode 100644 NTU_Autoboot/bin/Debug/NTU_Autoboot.pdb create mode 100644 NTU_Autoboot/bin/Debug/SimpleWifi.dll create mode 100644 NTU_Autoboot/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs create mode 100644 NTU_Autoboot/obj/Debug/DesignTimeResolveAssemblyReferences.cache create mode 100644 NTU_Autoboot/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 NTU_Autoboot/obj/Debug/NTU_Autoboot.ProjectInstaller.resources create mode 100644 NTU_Autoboot/obj/Debug/NTU_Autoboot.Service1.resources create mode 100644 NTU_Autoboot/obj/Debug/NTU_Autoboot.csproj.CopyComplete create mode 100644 NTU_Autoboot/obj/Debug/NTU_Autoboot.csproj.CoreCompileInputs.cache create mode 100644 NTU_Autoboot/obj/Debug/NTU_Autoboot.csproj.FileListAbsolute.txt create mode 100644 NTU_Autoboot/obj/Debug/NTU_Autoboot.csproj.GenerateResource.cache create mode 100644 NTU_Autoboot/obj/Debug/NTU_Autoboot.exe create mode 100644 NTU_Autoboot/obj/Debug/NTU_Autoboot.pdb create mode 100644 NTU_Autoboot/packages.config diff --git a/.vs/NTU/v16/.suo b/.vs/NTU/v16/.suo index 6da2714615efc99267c3b854fb784097ae54ccbb..e796e864d6d451ac49f20bbdf5f1313f78ad1836 100644 GIT binary patch literal 112128 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⁢^1aSKL&#w1EwNA{cD@XprH^u&!mdw%qw!pH4 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 D<6L=f delta 6229 zcmeHL3slr)7XRO2W?%%7H=`ggc?AQ^z#xVKql{#TJOnlqd=LyqM__^(OT-u|S5ZNk z%ktS~t!-QF$&Q_zUESm1)RdjJQ@fh&R=d^dpljRX^cLIIa@l+TGh=AATW#BRI{R^c z^Sxic`}po3$2)4rLw>t;i6BXmf*_|5Nt!_guK#0la+2Hp9;ta4hOJ7cq5>9Rq9Q(c ze1F3FqSTilfqG4;*rT`_OZ^OhcvjJ;N~Ojk+~~I{^d>5){pg2M4B-NPI5)a4fJ$Km zH6emPyG+icJd_aRtw&NGO_)aTC-70GQ_f?9y?Hq0*#tVV+@C`EECP>7q`ZPKhmcI* zGvyP~B&kqJr@|G43_>PBN5~@N5cC8C;d(+YA&*c(;6-DHYtq0xToVpUhihVRcc60i zGU}=%R1vBPHH77aT0-1#O|7bp3bTi68b0H0pCjojaF;lhJKmgA6fJgva%Llt&e6y8 zF_ly4Q&N2@eJZN^=wqswzIX!D$BS~}eqSEnDVeRI8S zOe@QYsEqjPe<+~ln{Q{GBwAy^2k z1?vdw3BK|8%h|D7Uxjl!b#C+yz*lFdq9SaeM!J$(3JJ2DY+=VWKtm_zUu+4NC8lyv z!>r`e`ri7RoVxm}9>(#Y(eNk0F0d=!Z%d;nv9gu|fls;7gHI?DH_9`VC19vKJkZ?oc zGCXQnh|2j^(4c*OrAP8?Q8Yvcv3M@=*#OqLSnn*?M0pT6lY=ohxKPQ`legZ3_F$UJ zPLpkq+f=)$a0i~~OvCX`E$S6P!n6*8a3HflZtyft_ciLBaW=?t+2g7pz@KKO`<7wj zknmjO(g1$A*sA3nH=sSL54!Oz{dS=}x>l+8&EQ8!f#-5IK|I>^UX6?MO^m~{`aYPA zcEb*_wFOKMn92dBH&6t?fq;rUUn`z$m=jW2SKnCH+0|~yHe0&e)^(s`W!5ykPTyPB zw7%Q2mdA*@E^jZ2TX>;#fUG6;3rfYapMP(hj8@1`LK&E81X16zWw6$8gZK1T7JZ*DtUarnC z*E54$)B}!I0MVZUbHq?K#6%tCx4@I!uTYr}XdV_PuK}Gi%KTMH*2pCDGT47A95mwb zZICEB1|XRAl+!(Xx2fWq+KY_KDfUQVgSe*#QpIDNAe@hqu1RQk^T4BT9=KSdD5C9U} zVT?F70BSP&h4qkzxy!Y}(E|>DvWsQ3^`OGZHcDrQTwUE6vVrc!$L_@*ezy0|WWm54^A!%#% zfcEgu=S}y&x#ojCO?Pf7Tx_^iUhHSZ5E*j$V&ry`aiW}JVgAfwKgLgJpot3n?L!IS z)9YA=*z)cr zi;oy#-9+*4o|Vt_+W5@i&6}4rQ%v6|*@+7aPM)eKcc?_uUm|31SmZ5-gY2Q@EBSuJ z1tUF#ZyO;Bl=Q!eND-9}8E87a1OrZoiMt0N6@c2qF{w>w8h_989}VAR&h4~w2gzb; z-by}os@I%PANh4sy@Za}Bg8Fc(4qVFL`+tMp!?K}ghg~c4wdBh10=O)tkPFlE7sHNS7PQgQS>7`hxo6L)|Yv$%AUB(LByiXz22~3H9Zv^RQpN7u>yu*h$Eg={#K7u6gS30rZ`gt z+RHw37|JUK6p$d}3kxdW{ zx$Y~za%@uh|=MSd?HsECro9Pz|9nDy_1z|3GnfiBPcWl7(O zax^%)3HrpzK8ijmgp3kPwnLErisSt607>-!1oB3=fqHZp9Kuu&>G*t`mcIPne*jA4 yi+#&+FW>6omA+zR`)yvTbkqsCnjcA}@@ri$N}RAzxVOT*!xW<$K_m}C#6JPH{cGI- diff --git a/NTU.sln b/NTU.sln index bd9810b..40f6fdd 100644 --- a/NTU.sln +++ b/NTU.sln @@ -5,6 +5,8 @@ VisualStudioVersion = 16.0.30717.126 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NTU", "NTU\NTU.csproj", "{EA2A58F9-734A-4548-BA34-0167F43ECCCB}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NTU_Autoboot", "NTU_Autoboot\NTU_Autoboot.csproj", "{78861C7C-CB2E-41B3-AE41-B9D97414C19D}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -15,6 +17,10 @@ Global {EA2A58F9-734A-4548-BA34-0167F43ECCCB}.Debug|Any CPU.Build.0 = Debug|Any CPU {EA2A58F9-734A-4548-BA34-0167F43ECCCB}.Release|Any CPU.ActiveCfg = Release|Any CPU {EA2A58F9-734A-4548-BA34-0167F43ECCCB}.Release|Any CPU.Build.0 = Release|Any CPU + {78861C7C-CB2E-41B3-AE41-B9D97414C19D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {78861C7C-CB2E-41B3-AE41-B9D97414C19D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {78861C7C-CB2E-41B3-AE41-B9D97414C19D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {78861C7C-CB2E-41B3-AE41-B9D97414C19D}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/NTU/App.config b/NTU/App.config index 57452c1..9305653 100644 --- a/NTU/App.config +++ b/NTU/App.config @@ -13,6 +13,7 @@ + \ No newline at end of file diff --git a/NTU/Form1.Designer.cs b/NTU/Form1.Designer.cs index 31e6064..9a4f252 100644 --- a/NTU/Form1.Designer.cs +++ b/NTU/Form1.Designer.cs @@ -50,7 +50,9 @@ private void InitializeComponent() this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker(); this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components); this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.ToolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.statusStrip1.SuspendLayout(); this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); @@ -225,17 +227,34 @@ private void InitializeComponent() // contextMenuStrip1 // this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.ToolStripMenuItem, + this.ToolStripMenuItem2, this.toolStripMenuItem1}); this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(125, 26); + this.contextMenuStrip1.Size = new System.Drawing.Size(181, 92); + // + // ToolStripMenuItem2 + // + this.ToolStripMenuItem2.CheckOnClick = true; + this.ToolStripMenuItem2.Name = "ToolStripMenuItem2"; + this.ToolStripMenuItem2.Size = new System.Drawing.Size(180, 22); + this.ToolStripMenuItem2.Text = "自启高优先级"; + this.ToolStripMenuItem2.Click += new System.EventHandler(this.自启高优先级ToolStripMenuItem_Click); // // toolStripMenuItem1 // this.toolStripMenuItem1.Name = "toolStripMenuItem1"; - this.toolStripMenuItem1.Size = new System.Drawing.Size(124, 22); + this.toolStripMenuItem1.Size = new System.Drawing.Size(180, 22); this.toolStripMenuItem1.Text = "关闭软件"; this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_Click); // + // ToolStripMenuItem + // + this.ToolStripMenuItem.CheckOnClick = true; + this.ToolStripMenuItem.Name = "ToolStripMenuItem"; + this.ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.ToolStripMenuItem.Text = "连接通知"; + // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -295,6 +314,8 @@ private void InitializeComponent() private System.Windows.Forms.NotifyIcon notifyIcon1; private System.Windows.Forms.ContextMenuStrip contextMenuStrip1; private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem2; + private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem; } } diff --git a/NTU/Form1.cs b/NTU/Form1.cs index 4af1f7a..d1a77b1 100644 --- a/NTU/Form1.cs +++ b/NTU/Form1.cs @@ -17,6 +17,10 @@ using System.Net.Sockets; using System.IO; using Microsoft.Win32; +using System.ServiceProcess; +using System.Configuration.Install; +using System.Collections; +using System.Security.AccessControl; namespace NTU { @@ -40,6 +44,10 @@ public Form1(String[] args) //bgworker.RunWorkerCompleted += bgworker_RunWorkerCompleted; } + string serviceFilePath = $"{Application.StartupPath}\\NTU_Autoboot.exe"; + string serviceName = "NTU"; + //string loginTXT = $"{Application.StartupPath}\\NTU_login.txt"; + public class CommonData { public static string yys; @@ -71,6 +79,7 @@ private void Form1_Load(object sender, EventArgs e) if (xywStr == "True") { xyw.Checked = true; + CommonData.yys = ""; } else { @@ -81,6 +90,7 @@ private void Form1_Load(object sender, EventArgs e) if (cmccStr == "True") { cmcc.Checked = true; + CommonData.yys = "%40cmcc"; } else { @@ -91,6 +101,7 @@ private void Form1_Load(object sender, EventArgs e) if (unicomStr == "True") { unicom.Checked = true; + CommonData.yys = "%40unicom"; } else { @@ -101,6 +112,7 @@ private void Form1_Load(object sender, EventArgs e) if (telecomStr == "True") { telecom.Checked = true; + CommonData.yys = "%40telecom"; } else { @@ -140,6 +152,16 @@ private void Form1_Load(object sender, EventArgs e) { autoreconnect.Checked = false; } + //连接通知读取 + String notifycheck = ConfigurationManager.AppSettings["connectnotify"].ToString(); + if (notifycheck == "True") + { + ToolStripMenuItem.Checked = true; + } + else + { + ToolStripMenuItem.Checked = false; + } bgworker.RunWorkerAsync(); //软件启动时连接功能 @@ -147,7 +169,14 @@ private void Form1_Load(object sender, EventArgs e) { denglu(); } - + if (this.IsServiceExisted("NTU")) + { + ToolStripMenuItem2.Checked = true; + } + else + { + ToolStripMenuItem2.Checked = false; + } } private void Form1_FormClosing(object sender, FormClosingEventArgs e) @@ -161,32 +190,7 @@ private void Form1_FormClosing(object sender, FormClosingEventArgs e) private void Form1_FormClosed(object sender, FormClosedEventArgs e) { - - string file = System.Windows.Forms.Application.ExecutablePath; - - Configuration config = ConfigurationManager.OpenExeConfiguration(file); - - //校园网选项框记录 - config.AppSettings.Settings["xyw"].Value = xyw.Checked.ToString().Trim(); - //移动选项框记录 - config.AppSettings.Settings["cmcc"].Value = cmcc.Checked.ToString().Trim(); - //联通选项框记录 - config.AppSettings.Settings["unicom"].Value = unicom.Checked.ToString().Trim(); - //电信选项框记录 - config.AppSettings.Settings["telecom"].Value = telecom.Checked.ToString().Trim(); - //用户名记录 - config.AppSettings.Settings["username"].Value = UsernameTextBox.Text.Trim(); - //密码记录 - config.AppSettings.Settings["password"].Value = PasswordTextBox.Text.Trim(); - //软件启动选项记录 - config.AppSettings.Settings["runlogin"].Value = runlogin.Checked.ToString().Trim(); - //启动连接选项记录 - config.AppSettings.Settings["startlogin"].Value = startlogin.Checked.ToString().Trim(); - //自动重连选项记录 - config.AppSettings.Settings["autoreconnect"].Value = autoreconnect.Checked.ToString().Trim(); - config.Save(ConfigurationSaveMode.Modified); - - ConfigurationManager.RefreshSection("appSettings"); + savesettings(); System.Environment.Exit(0); System.Diagnostics.Process tt = System.Diagnostics.Process.GetProcessById(System.Diagnostics.Process.GetCurrentProcess().Id); tt.Kill();//直接杀死与本程序相关的所有进程,有可能会导致数据丢失,但是不会抛出异常。 @@ -200,6 +204,7 @@ private void xyw_CheckedChanged(object sender, EventArgs e) cmcc.Checked = false; unicom.Checked = false; telecom.Checked = false; + CommonData.yys = ""; } } @@ -211,6 +216,7 @@ private void cmcc_CheckedChanged(object sender, EventArgs e) xyw.Checked = false; unicom.Checked = false; telecom.Checked = false; + CommonData.yys = "%40cmcc"; } } @@ -222,6 +228,7 @@ private void unicom_CheckedChanged(object sender, EventArgs e) xyw.Checked = false; cmcc.Checked = false; telecom.Checked = false; + CommonData.yys = "%40unicom"; } } @@ -233,6 +240,7 @@ private void telecom_CheckedChanged(object sender, EventArgs e) xyw.Checked = false; unicom.Checked = false; cmcc.Checked = false; + CommonData.yys = "%40telecom"; } } @@ -260,6 +268,7 @@ private void startlogin_Click(object sender, EventArgs e) } if (startlogin.Checked == true) { + AutoStart(); Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.CurrentUser; Microsoft.Win32.RegistryKey run = key.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run"); run.SetValue("NTU", System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName + " -s"); @@ -268,6 +277,7 @@ private void startlogin_Click(object sender, EventArgs e) } else { + CancelAutoStart(); RegistryKey key = Registry.CurrentUser; RegistryKey software = key.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true); @@ -308,31 +318,7 @@ private void login_Click(object sender, EventArgs e) else { denglu(); - string file = System.Windows.Forms.Application.ExecutablePath; - - Configuration config = ConfigurationManager.OpenExeConfiguration(file); - - //校园网选项框记录 - config.AppSettings.Settings["xyw"].Value = xyw.Checked.ToString().Trim(); - //移动选项框记录 - config.AppSettings.Settings["cmcc"].Value = cmcc.Checked.ToString().Trim(); - //联通选项框记录 - config.AppSettings.Settings["unicom"].Value = unicom.Checked.ToString().Trim(); - //电信选项框记录 - config.AppSettings.Settings["telecom"].Value = telecom.Checked.ToString().Trim(); - //用户名记录 - config.AppSettings.Settings["username"].Value = UsernameTextBox.Text.Trim(); - //密码记录 - config.AppSettings.Settings["password"].Value = PasswordTextBox.Text.Trim(); - //软件启动选项记录 - config.AppSettings.Settings["runlogin"].Value = runlogin.Checked.ToString().Trim(); - //启动连接选项记录 - config.AppSettings.Settings["startlogin"].Value = startlogin.Checked.ToString().Trim(); - //自动重连选项记录 - config.AppSettings.Settings["autoreconnect"].Value = autoreconnect.Checked.ToString().Trim(); - config.Save(ConfigurationSaveMode.Modified); - - ConfigurationManager.RefreshSection("appSettings"); + savesettings(); } } @@ -392,11 +378,14 @@ void bgworker_DoWork(object sender, DoWorkEventArgs e) toolStripStatusLabel1.Text = "已连接"; CommonData.ip = GetLocalIP(); toolStripStatusLabel2.Text = CommonData.ip; - if (CommonData.Bcheck == 1) + if (ToolStripMenuItem.Checked==true) { - notifyIcon1.Visible = true; - notifyIcon1.ShowBalloonTip(20000, "NTU", "已连接至校园网", - ToolTipIcon.Info); + if (CommonData.Bcheck == 1) + { + notifyIcon1.Visible = true; + notifyIcon1.ShowBalloonTip(20000, "NTU", "已连接至校园网", + ToolTipIcon.Info); + } } } @@ -679,6 +668,210 @@ private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e) } private void toolStripMenuItem1_Click(object sender, EventArgs e) + { + savesettings(); + System.Environment.Exit(0); + System.Diagnostics.Process tt = System.Diagnostics.Process.GetProcessById(System.Diagnostics.Process.GetCurrentProcess().Id); + tt.Kill();//直接杀死与本程序相关的所有进程,有可能会导致数据丢失,但是不会抛出异常。 + notifyIcon1.Visible = false; //设置图标不可见 + this.Close(); //关闭窗体 + this.Dispose(); //释放资源 + Application.Exit(); //关闭应用程序窗体 + } + + private void 自启高优先级ToolStripMenuItem_Click(object sender, EventArgs e) + { + if (ToolStripMenuItem2.Checked == true) + { + if (startlogin.Checked == true) + { + if (UsernameTextBox.Text == "") + { + MessageBox.Show("用户名未填写", "提示"); + ToolStripMenuItem2.Checked = false; + } + else + { + if (PasswordTextBox.Text == "") + { + MessageBox.Show("密码未填写", "提示"); + ToolStripMenuItem2.Checked = false; + } + else + { + System.IO.File.Delete($"{Application.StartupPath}\\NTU_login.txt"); + WriteFile(CommonData.yys); + WriteFile(UsernameTextBox.Text); + WriteFile(PasswordTextBox.Text); + //安装服务 + if (this.IsServiceExisted(serviceName)) this.UninstallService(serviceName); + this.InstallService(serviceFilePath); + //启动服务 + //if (this.IsServiceExisted(serviceName)) this.ServiceStart(serviceName); + } + } + } + else + { + MessageBox.Show("开机自启未勾选", "提示"); + ToolStripMenuItem2.Checked = false; + } + } + else + { + //停止服务 + if (this.IsServiceExisted(serviceName)) this.ServiceStop(serviceName); + //卸载服务 + if (this.IsServiceExisted(serviceName)) + { + this.ServiceStop(serviceName); + this.UninstallService(serviceFilePath); + } + + } + } + + //判断服务是否存在 + private bool IsServiceExisted(string serviceName) + { + ServiceController[] services = ServiceController.GetServices(); + foreach (ServiceController sc in services) + { + if (sc.ServiceName.ToLower() == serviceName.ToLower()) + { + return true; + } + } + return false; + } + + //安装服务 + private void InstallService(string serviceFilePath) + { + using (AssemblyInstaller installer = new AssemblyInstaller()) + { + installer.UseNewContext = true; + installer.Path = serviceFilePath; + IDictionary savedState = new Hashtable(); + installer.Install(savedState); + installer.Commit(savedState); + } + } + + //卸载服务 + private void UninstallService(string serviceFilePath) + { + using (AssemblyInstaller installer = new AssemblyInstaller()) + { + installer.UseNewContext = true; + installer.Path = serviceFilePath; + installer.Uninstall(null); + } + } + + //启动服务 + private void ServiceStart(string serviceName) + { + using (ServiceController control = new ServiceController(serviceName)) + { + if (control.Status == ServiceControllerStatus.Stopped) + { + control.Start(); + } + } + } + + //停止服务 + private void ServiceStop(string serviceName) + { + using (ServiceController control = new ServiceController(serviceName)) + { + if (control.Status == ServiceControllerStatus.Running) + { + control.Stop(); + } + } + } + + public static void WriteFile(String str) + { + StreamWriter sw = new StreamWriter($"{Application.StartupPath}\\NTU_login.txt", true, System.Text.Encoding.Default); + sw.WriteLine(str); + sw.Close(); + } + + //https://blog.csdn.net/m0_37670686/article/details/108356836 + private void AutoStart() + { + var starupPath = GetType().Assembly.Location; + try + { + var fileName = starupPath + " -s"; + var shortFileName = fileName.Substring(fileName.LastIndexOf('\\') + 1); + //打开子键节点 + var myReg = Registry.LocalMachine.OpenSubKey( + "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", RegistryKeyPermissionCheck.ReadWriteSubTree, + RegistryRights.FullControl); + if (myReg == null) + { + //如果子键节点不存在,则创建之 + myReg = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"); + } + if (myReg != null && myReg.GetValue(shortFileName) != null) + { + //在注册表中设置自启动程序 + myReg.DeleteValue(shortFileName); + myReg.SetValue(shortFileName, fileName); + } + + else if (myReg != null && myReg.GetValue(shortFileName) == null) + { + myReg.SetValue(shortFileName, fileName); + + } + } + catch + { + return; + } + } + + private void CancelAutoStart() + { + var starupPath = GetType().Assembly.Location; + try + { + var fileName = starupPath + " -s"; + var shortFileName = fileName.Substring(fileName.LastIndexOf('\\') + 1); + //打开子键节点 + var myReg = Registry.LocalMachine.OpenSubKey( + "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", RegistryKeyPermissionCheck.ReadWriteSubTree, + RegistryRights.FullControl); + if (myReg == null) + { + //如果子键节点不存在,则创建之 + myReg = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"); + } + if (myReg != null && myReg.GetValue(shortFileName) != null) + { + //在注册表中设置自启动程序 + myReg.DeleteValue(shortFileName); + // myReg.SetValue(shortFileName, fileName); + } + + else if (myReg != null && myReg.GetValue(shortFileName) == null) + { + // myReg.SetValue(shortFileName, fileName); + return; + } + } + catch + { + return; + } + } + + public void savesettings() { string file = System.Windows.Forms.Application.ExecutablePath; @@ -702,16 +895,11 @@ private void toolStripMenuItem1_Click(object sender, EventArgs e) config.AppSettings.Settings["startlogin"].Value = startlogin.Checked.ToString().Trim(); //自动重连选项记录 config.AppSettings.Settings["autoreconnect"].Value = autoreconnect.Checked.ToString().Trim(); + //连接通知选项记录 + config.AppSettings.Settings["connectnotify"].Value = ToolStripMenuItem.Checked.ToString().Trim(); config.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection("appSettings"); - System.Environment.Exit(0); - System.Diagnostics.Process tt = System.Diagnostics.Process.GetProcessById(System.Diagnostics.Process.GetCurrentProcess().Id); - tt.Kill();//直接杀死与本程序相关的所有进程,有可能会导致数据丢失,但是不会抛出异常。 - notifyIcon1.Visible = false; //设置图标不可见 - this.Close(); //关闭窗体 - this.Dispose(); //释放资源 - Application.Exit(); //关闭应用程序窗体 } } } diff --git a/NTU/NTU.csproj b/NTU/NTU.csproj index d8763dc..d804e40 100644 --- a/NTU/NTU.csproj +++ b/NTU/NTU.csproj @@ -55,7 +55,7 @@ NTU_TemporaryKey.pfx - true + false true @@ -64,15 +64,21 @@ LocalIntranet - Properties\app.manifest + app.manifest + + False + ..\NTU_Autoboot\bin\Debug\NTU_Autoboot.exe + ..\packages\SimpleWifi.1.0.0.0\lib\net40\SimpleWifi.dll + + @@ -104,6 +110,7 @@ True Resources.resx + @@ -132,5 +139,8 @@ false + + + \ No newline at end of file diff --git a/NTU/ProjectInstaller.Designer.cs b/NTU/ProjectInstaller.Designer.cs new file mode 100644 index 0000000..9967be5 --- /dev/null +++ b/NTU/ProjectInstaller.Designer.cs @@ -0,0 +1,37 @@ + +namespace NTU +{ + partial class ProjectInstaller + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + } + + #endregion + } +} \ No newline at end of file diff --git a/NTU/ProjectInstaller.cs b/NTU/ProjectInstaller.cs new file mode 100644 index 0000000..a644cf6 --- /dev/null +++ b/NTU/ProjectInstaller.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.ComponentModel; +using System.Configuration.Install; +using System.Linq; +using System.Threading.Tasks; + +namespace NTU +{ + [RunInstaller(true)] + public partial class ProjectInstaller : System.Configuration.Install.Installer + { + public ProjectInstaller() + { + InitializeComponent(); + } + } +} diff --git a/NTU/Properties/AssemblyInfo.cs b/NTU/Properties/AssemblyInfo.cs index 198067d..cfe19ce 100644 --- a/NTU/Properties/AssemblyInfo.cs +++ b/NTU/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 //通过使用 "*",如下所示: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("0.8")] +[assembly: AssemblyFileVersion("0.8")] diff --git a/NTU/app.manifest b/NTU/app.manifest new file mode 100644 index 0000000..7f6f0cd --- /dev/null +++ b/NTU/app.manifest @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/NTU/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/NTU/obj/Debug/DesignTimeResolveAssemblyReferences.cache index 157af5a769b45e84e9d6935de26009f94b6943d7..4f690e39101431a42bc95ef2f76c2e2fdb719231 100644 GIT binary patch delta 151 zcmbQueTIF5KO>|4WlM6&}g9siV!OAt+o24k37s%u) vGto29Gd3_bv}9leDFCTt;CJTzJn1S2BZ$w%#l{Dskrjdr!KRQOO(8b`a^w`D delta 375 zcmX@ZKAU@kKO>{uP>xqQvsdymYW64^T1}B0ZTwH7-AR1XA m$V_YsMbQ<4?8T-~3@9FtVkF3M*i?$68wv6NHiZ&s3b_F~YCiP< diff --git a/NTU/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/NTU/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index 819bcc04f00269699062b999d25641afd71594e4..7feb105716d355802e538b638de6a223fbbac541 100644 GIT binary patch delta 593 zcmX|;Pj3=I7>C)WGupzkved{z3)R+t1h;5f(JE1bA?1Rk72^TZ4$FY6v$JG(P#c0D zqVpBJc`@M&cZ@ob_;KY};komw}U$vnT`^G+t&-`lh5$M_HaoRz-G8Cs@3d2c*g>S;v0lkw?ojJ{J!C}5J zW=uN^Cj@JuEFW6uwX%F_|=xh!>5( z_nLxwQ+!)~unJm5ezBUFJK*S(UGgTHX%UZ3@m+}2UzF|a650k*ubRX6JETBI2(&tB4jt z`vQMJ1pNTlZK7qXenHTgp;lcuhx5GedoGtdOnvS>J=n+@jO-D3wT-MUlgY&RvF#et zm)%PRq=Z3HmZJfreS@x8KMf+K4Z34PbOtG|6L*=Z*W=|{^;)SgAygGOcAi3Z%0p+7 zM4fo8S*|ryr4*M`l?kJq$JH=I9Z50=FRmgyJ9sh=hfak?&~3wjD}av^=mL_YlSOQa z#`YrIb2YLAEHBYzbSt`RZ-^bGS}_7E@Xl)_iq|&iDhA3ha2Mf?mxtf(aY|x91P@t* z$G|z%1#2aa5p(WFRmmhy6w4CB_IHQ{r++GE{q;E;4vb#w*nGXLSd|n>Y{{8sQ`Smq zH>ap_v(Ie6hcG>{i5a1nhxC}&-0d?7@COcjTPU)<6S1R5k3>!GGf9+;&xPB7hiv0p UFX#?x1> \ No newline at end of file diff --git a/NTU/obj/Debug/NTU.application b/NTU/obj/Debug/NTU.application deleted file mode 100644 index 596d393..0000000 --- a/NTU/obj/Debug/NTU.application +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - FM+s5dO/WR2bRWqEdosGkLj+v29R9XbbzomNR7AeJLc= - - - - \ No newline at end of file diff --git a/NTU/obj/Debug/NTU.csproj.CoreCompileInputs.cache b/NTU/obj/Debug/NTU.csproj.CoreCompileInputs.cache index 7544d99..2d9fa29 100644 --- a/NTU/obj/Debug/NTU.csproj.CoreCompileInputs.cache +++ b/NTU/obj/Debug/NTU.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -e16282d48a1036916ecdf5b8e6637afe540ebb27 +aea75b51b160896388398d0d4c20d7c92f40fb8d diff --git a/NTU/obj/Debug/NTU.csproj.FileListAbsolute.txt b/NTU/obj/Debug/NTU.csproj.FileListAbsolute.txt index 71f12e6..ff15c42 100644 --- a/NTU/obj/Debug/NTU.csproj.FileListAbsolute.txt +++ b/NTU/obj/Debug/NTU.csproj.FileListAbsolute.txt @@ -33,19 +33,17 @@ C:\Users\left\Documents\NTU\NTU\NTU\bin\Debug\NTU.application C:\Users\left\Documents\NTU\NTU\NTU\obj\Debug\NTU.application C:\Users\13797\Documents\NTU\NTU\obj\Debug\NTU.TrustInfo.xml C:\Users\left\Documents\NTU\NTU\bin\Debug\NTU.exe.config -C:\Users\left\Documents\NTU\NTU\bin\Debug\NTU.exe.manifest -C:\Users\left\Documents\NTU\NTU\bin\Debug\NTU.application C:\Users\left\Documents\NTU\NTU\bin\Debug\NTU.exe C:\Users\left\Documents\NTU\NTU\bin\Debug\NTU.pdb C:\Users\left\Documents\NTU\NTU\bin\Debug\SimpleWifi.dll -C:\Users\left\Documents\NTU\NTU\obj\Debug\NTU.csprojAssemblyReference.cache C:\Users\left\Documents\NTU\NTU\obj\Debug\NTU.Form1.resources C:\Users\left\Documents\NTU\NTU\obj\Debug\NTU.Properties.Resources.resources C:\Users\left\Documents\NTU\NTU\obj\Debug\NTU.csproj.GenerateResource.cache C:\Users\left\Documents\NTU\NTU\obj\Debug\NTU.csproj.CoreCompileInputs.cache -C:\Users\left\Documents\NTU\NTU\obj\Debug\NTU.TrustInfo.xml -C:\Users\left\Documents\NTU\NTU\obj\Debug\NTU.exe.manifest -C:\Users\left\Documents\NTU\NTU\obj\Debug\NTU.application C:\Users\left\Documents\NTU\NTU\obj\Debug\NTU.csproj.CopyComplete C:\Users\left\Documents\NTU\NTU\obj\Debug\NTU.exe C:\Users\left\Documents\NTU\NTU\obj\Debug\NTU.pdb +C:\Users\left\Documents\NTU\NTU\bin\Debug\NTU_Autoboot.exe +C:\Users\left\Documents\NTU\NTU\bin\Debug\NTU_Autoboot.pdb +C:\Users\left\Documents\NTU\NTU\bin\Debug\NTU_Autoboot.exe.config +C:\Users\left\Documents\NTU\NTU\obj\Debug\NTU.csprojAssemblyReference.cache diff --git a/NTU/obj/Debug/NTU.csproj.GenerateResource.cache b/NTU/obj/Debug/NTU.csproj.GenerateResource.cache index e74f1342e955df19ce28e54806b5c21c1ee29f21..b79d7bca31c7273350936f307ddb030c9d4f700f 100644 GIT binary patch delta 26 icmeyu{)K%*D-$Er<~AlXM)oClwbu$T-kf}x*$@DONC|fU delta 26 icmeyu{)K%*D-&bG<~AlXM)oQDYTPD&xiR@LvmpSJAqyn{ diff --git a/NTU/obj/Debug/NTU.csprojAssemblyReference.cache b/NTU/obj/Debug/NTU.csprojAssemblyReference.cache index f5d70bfe72393b24a4d85efebcc1077941600478..506d6ae9a5cdb91ca2bcfbbccfaaff6f027cff2a 100644 GIT binary patch literal 45086 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 literal 7005 zcmeHM&2!sC6xZ68taVb-@=+*shLn$Ch8ln1q-i=0ozzWeX`6mHO^2yVSj#I%Se87J z97r$p2zQR$xY7$S1DxOj7dUaD#|~WiAK?8Y+mSzjrtJY{{ATWYPMyZmpkijQ#wnvLdl#r7tCU@K3@i=s=oZbwwxto!6#U#-;co?^W=qVPCrPEC{;{h@9WobOQC}5C;CkuqdZuW) zWw+H9p7eCstys5YiW+@wL)abZD@syP)hYd8cOI9#y5$JFKjx1s$4{-$(|L*>@G||l z3Wdj|(DXOsu*#`TtKrb*mW3}B#`a?%R-~m#t(Q+!ulcm;Ra=@t^^9wDTG9#p>e~9X z@YfbbQ#7PstyrzLEw5Xq6?rCCsM=Po>d0WO5WiWsZA~Z3SNfKVrG>?XA=3|Hc0X1d z`hwF5&yZ4acJyDJeRQ?wXbeiW+#A<1=X8PikLoZDoDcqdC3rdQI&B zH7N|cfSsHEEX(eEdN(rpI2xaTdXkj(6sZA|2hsX8sX>z*CZ`XPTIdqc8h+YncZ6qbp-=f- z!m!eGvbAhCICTj_Ezk|OE^8Di>89Li3(Hf5UkSXl3`Vv)%VdOGtyU+b2i=n` z(QeDS!V+mPgpy3M1l*Kji6KYoI@9O-`{bBbqvHwCO%Fbn^n0f}XQSD-Ywp^u@|srXNP+~S}wnN6SxWkLVK3Z zGP@*{;m=V6KTHaO-DV$>O8rjx=D~ItHqzUmO~HyE9c zZIcmxgj5P4uRNF4xUK~f;8q4+>9(>5=P_gs$-7UeB%GprK$ z=2f|Efl@J4CqY*T3JeHC_=7W;h6Fi^l~<@0(#HzBOT&Pd)NN}0l}_OA&`GaSzqd!6 z6lSs^FFlxtj*|UHLHt*{w+XskeN?^@!Co{B^qIB~m>Ja~u1)%U5V+KgIYelL$_2Gou=*#mD#u&f}yxU9RcCx=%}cuRwhuKKrw>i8A3xWb*=y^ zt6iwz5aICKI1axV#o;;XsiFd&0BZuQ2v~0s8v3d8JYDb$qdQE+z8HnoCF-u` zNljoifmH;n%Y=r()Om$k_*GIpiLiAij;+r}v2~5Qt9YN>%iAbk)1NWu?+vRiy{j@1 zUV{|<$+1dbNa+J6-DWd*{lGW;#Mif~8;9oZea!GKf(+gJ5J0D)FuZc~GxSEcbq0mz zpaE2!V-29V95sMyV$c9ei?Ieyk2AnfEMRZg3=+biDP)JSrjP{sbGc3zkQs#jpaJl} hSOb^n#;5`KchCTwJ=OqxI%0rfU&F;POe#E^`U`wi7y|$R diff --git a/NTU/obj/Debug/NTU.exe b/NTU/obj/Debug/NTU.exe index 9399c8c2ef1af4ac213ba9ea64d67bd711e09894..549b0d2f5cbfec208183549e242ae0813a0bdeae 100644 GIT binary patch literal 35328 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

k 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 76WGDsEagSIkXXNtUAgMsIxHgz/s/Ugi02k3xTqoTp4= - - - - - - - - - - - - gDwsIsaqz4Anla0SmTHx6noGv2bANrWXufWqd/wDEiE= - - - - - - - - - - RES2mjaOJMTNAVBWY4vSsc8CvlX7ucBA6ihO56eB2Ig= - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/NTU/obj/Debug/NTU.pdb b/NTU/obj/Debug/NTU.pdb index fbbe425bc0248e4209a8842dcd9333b82756aeea..73320d8f03bf8eeb828a84e22e3b6bb70d1892b2 100644 GIT binary patch literal 56832 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%0AkVnX^YB%$ZcJ)y=-VB-ht^osZ0X0S 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 + + + + + \ No newline at end of file diff --git a/NTU_Autoboot/NTU_Autoboot.csproj b/NTU_Autoboot/NTU_Autoboot.csproj new file mode 100644 index 0000000..d69db87 --- /dev/null +++ b/NTU_Autoboot/NTU_Autoboot.csproj @@ -0,0 +1,83 @@ + + + + + Debug + AnyCPU + {78861C7C-CB2E-41B3-AE41-B9D97414C19D} + WinExe + NTU_Autoboot + NTU_Autoboot + v4.7.2 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\SimpleWifi.1.0.0.0\lib\net40\SimpleWifi.dll + + + + + + + + + + + + + + + + Component + + + ProjectInstaller.cs + + + Component + + + Service1.cs + + + + + + + + + + + ProjectInstaller.cs + + + Service1.cs + + + + + + + \ No newline at end of file diff --git a/NTU_Autoboot/Program.cs b/NTU_Autoboot/Program.cs new file mode 100644 index 0000000..d1aa9b3 --- /dev/null +++ b/NTU_Autoboot/Program.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.ServiceProcess; +using System.Text; +using System.Threading.Tasks; + +namespace NTU_Autoboot +{ + static class Program + { + ///

+ /// 应用程序的主入口点。 + /// + static void Main() + { + ServiceBase[] ServicesToRun; + ServicesToRun = new ServiceBase[] + { + new Service1() + }; + ServiceBase.Run(ServicesToRun); + } + } +} diff --git a/NTU_Autoboot/ProjectInstaller.Designer.cs b/NTU_Autoboot/ProjectInstaller.Designer.cs new file mode 100644 index 0000000..28c3587 --- /dev/null +++ b/NTU_Autoboot/ProjectInstaller.Designer.cs @@ -0,0 +1,60 @@ + +namespace NTU_Autoboot +{ + partial class ProjectInstaller + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.serviceProcessInstaller1 = new System.ServiceProcess.ServiceProcessInstaller(); + this.serviceInstaller1 = new System.ServiceProcess.ServiceInstaller(); + // + // serviceProcessInstaller1 + // + this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalSystem; + this.serviceProcessInstaller1.Password = null; + this.serviceProcessInstaller1.Username = null; + // + // serviceInstaller1 + // + this.serviceInstaller1.Description = "NTU 开机自启服务"; + this.serviceInstaller1.ServiceName = "NTU"; + this.serviceInstaller1.StartType = System.ServiceProcess.ServiceStartMode.Automatic; + // + // ProjectInstaller + // + this.Installers.AddRange(new System.Configuration.Install.Installer[] { + this.serviceProcessInstaller1, + this.serviceInstaller1}); + + } + + #endregion + + private System.ServiceProcess.ServiceProcessInstaller serviceProcessInstaller1; + private System.ServiceProcess.ServiceInstaller serviceInstaller1; + } +} \ No newline at end of file diff --git a/NTU_Autoboot/ProjectInstaller.cs b/NTU_Autoboot/ProjectInstaller.cs new file mode 100644 index 0000000..87b4ae2 --- /dev/null +++ b/NTU_Autoboot/ProjectInstaller.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.ComponentModel; +using System.Configuration.Install; +using System.Linq; +using System.Threading.Tasks; + +namespace NTU_Autoboot +{ + [RunInstaller(true)] + public partial class ProjectInstaller : System.Configuration.Install.Installer + { + public ProjectInstaller() + { + InitializeComponent(); + } + } +} diff --git a/NTU_Autoboot/ProjectInstaller.resx b/NTU_Autoboot/ProjectInstaller.resx new file mode 100644 index 0000000..77b6f7b --- /dev/null +++ b/NTU_Autoboot/ProjectInstaller.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 55 + + + 208, 17 + + + False + + \ No newline at end of file diff --git a/NTU_Autoboot/Properties/AssemblyInfo.cs b/NTU_Autoboot/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..a5ddd95 --- /dev/null +++ b/NTU_Autoboot/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("NTU_Autoboot")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("NTU_Autoboot")] +[assembly: AssemblyCopyright("Copyright © 2021")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("78861c7c-cb2e-41b3-ae41-b9d97414c19d")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 +//通过使用 "*",如下所示: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("0.1")] +[assembly: AssemblyFileVersion("0.1")] diff --git a/NTU_Autoboot/Service1.Designer.cs b/NTU_Autoboot/Service1.Designer.cs new file mode 100644 index 0000000..bacc4f6 --- /dev/null +++ b/NTU_Autoboot/Service1.Designer.cs @@ -0,0 +1,41 @@ + +namespace NTU_Autoboot +{ + partial class Service1 + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + // + // Service1 + // + this.ServiceName = "Service1"; + + } + + #endregion + } +} diff --git a/NTU_Autoboot/Service1.cs b/NTU_Autoboot/Service1.cs new file mode 100644 index 0000000..d96a6be --- /dev/null +++ b/NTU_Autoboot/Service1.cs @@ -0,0 +1,331 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Net; +using System.Runtime.InteropServices; +using System.Security.Principal; +using System.ServiceProcess; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading; +using System.Threading.Tasks; +using SimpleWifi; +using System.Timers; +using System.Threading.Tasks; +using Timer = System.Timers.Timer; + +namespace NTU_Autoboot +{ + public partial class Service1 : ServiceBase + { + public Service1() + { + InitializeComponent(); + } + Timer timer1 = new Timer(); + + public class CommonData + { + public static string yys; + public static string username; + public static string password; + public static string url; + public static string ip; + public static string netstatus; + public static int Bcheck; + } + + Wifi g_wifi; + string serviceName = "NTU"; + String[] logintxt = new String[100]; + + protected override void OnStart(string[] args) + { + StreamReader sr = new StreamReader($"{System.AppDomain.CurrentDomain.BaseDirectory}\\NTU_login.txt", System.Text.Encoding.Default); + for (int i = 0; i < 10; i++) + { + logintxt[i] = sr.ReadLine(); + } + timer1.Interval = 1000; + timer1.Elapsed += new ElapsedEventHandler(timer1_Elapsed); + timer1.Enabled = true; + } + + private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e) + { + Task.Run(() => { + Netcheck(); + if (Netcheck() == false) + { + CommonData.netstatus = "-1"; + denglu(); + } + else + { + timer1.Enabled = false; + using (ServiceController control = new ServiceController(serviceName)) + { + if (control.Status == ServiceControllerStatus.Running) + { + control.Stop(); + } + } + } + }); + } + + protected override void OnStop() + { + + } + + public void denglu() + { + try + { + g_wifi = new Wifi(); + var t = g_wifi.GetAccessPoints(); + string name = Dns.GetHostName(); + CommonData.ip = GetLocalIP(); + CommonData.yys = logintxt[0]; + CommonData.username = logintxt[1]; + CommonData.password = logintxt[2]; + CommonData.url = "http://210.29.79.141:801/eportal/?c=Portal&a=login&callback=dr1003&login_method=1&user_account=%2C0%2C" + CommonData.username + CommonData.yys + "&user_password=" + CommonData.password + "&wlan_user_ip=" + CommonData.ip + "&wlan_user_ipv6=&wlan_user_mac=000000000000&wlan_ac_ip=&wlan_ac_name=ME60&jsVersion=3.3.2&v=6376"; + foreach (var item in t) + { + if (item.Name == "NTU") + { + AuthRequest ar = new AuthRequest(item); + ar.Password = ""; + if (item.IsConnected == false) + { + item.Connect(ar); + for (; ; ) + { + if (item.IsConnected == true) + { + for (; ; ) + { + //string baidu = GetHtmlByUrl("http://baidu.com/1.txt"); + if (CommonData.netstatus == "-1") + { + string url = string.Format(CommonData.url); + using (var wc = new WebClient()) + { + Encoding enc = Encoding.GetEncoding("UTF-8"); + Byte[] pageData = wc.DownloadData(url); + string re = enc.GetString(pageData); + } + break; + } + break; + } + break; + } + } + } + else + { + string url = string.Format(CommonData.url); + using (var wc = new WebClient()) + { + Encoding enc = Encoding.GetEncoding("UTF-8"); + Byte[] pageData = wc.DownloadData(url); + string re = enc.GetString(pageData); + } + } + + } + } + } + catch + { + } + } + + /// + /// 获取当前使用的IP + /// + /// + public static string GetLocalIP() + { + string result = RunApp("route", "print", true); + Match m = Regex.Match(result, @"0.0.0.0\s+0.0.0.0\s+(\d+.\d+.\d+.\d+)\s+(\d+.\d+.\d+.\d+)"); + if (m.Success) + { + return m.Groups[2].Value; + } + else + { + try + { + System.Net.Sockets.TcpClient c = new System.Net.Sockets.TcpClient(); + c.Connect("www.baidu.com", 80); + string ip = ((System.Net.IPEndPoint)c.Client.LocalEndPoint).Address.ToString(); + c.Close(); + return ip; + } + catch (Exception) + { + return null; + } + } + } + + /// + /// 获取本机主DNS + /// + /// + public static string GetPrimaryDNS() + { + string result = RunApp("nslookup", "", true); + Match m = Regex.Match(result, @"\d+\.\d+\.\d+\.\d+"); + if (m.Success) + { + return m.Value; + } + else + { + return null; + } + } + + /// + /// 运行一个控制台程序并返回其输出参数。 + /// + /// 程序名 + /// 输入参数 + /// + public static string RunApp(string filename, string arguments, bool recordLog) + { + try + { + if (recordLog) + { + Trace.WriteLine(filename + " " + arguments); + } + Process proc = new Process(); + proc.StartInfo.FileName = filename; + proc.StartInfo.CreateNoWindow = true; + proc.StartInfo.Arguments = arguments; + proc.StartInfo.RedirectStandardOutput = true; + proc.StartInfo.UseShellExecute = false; + proc.Start(); + + using (System.IO.StreamReader sr = new System.IO.StreamReader(proc.StandardOutput.BaseStream, Encoding.Default)) + { + //string txt = sr.ReadToEnd(); + //sr.Close(); + //if (recordLog) + //{ + // Trace.WriteLine(txt); + //} + //if (!proc.HasExited) + //{ + // proc.Kill(); + //} + //上面标记的是原文,下面是我自己调试错误后自行修改的 + Thread.Sleep(100); //貌似调用系统的nslookup还未返回数据或者数据未编码完成,程序就已经跳过直接执行 + //txt = sr.ReadToEnd()了,导致返回的数据为空,故睡眠令硬件反应 + if (!proc.HasExited) //在无参数调用nslookup后,可以继续输入命令继续操作,如果进程未停止就直接执行 + { //txt = sr.ReadToEnd()程序就在等待输入,而且又无法输入,直接掐住无法继续运行 + proc.Kill(); + } + string txt = sr.ReadToEnd(); + sr.Close(); + if (recordLog) + Trace.WriteLine(txt); + return txt; + } + } + catch (Exception ex) + { + Trace.WriteLine(ex); + return ex.Message; + } + } + + public static bool Netcheck() + { + string baidu = GetHtmlByUrl("http://baidu.com/1.txt"); + + try + { + if (!Regex.IsMatch(baidu, @"baidu")) + { + return false; + } + else + { + CommonData.Bcheck = CommonData.Bcheck + 1; + if (CommonData.Bcheck == 1000) + { + CommonData.Bcheck = 2; + } + return true; + } + } + catch (ArgumentNullException) + { + return false; + } + } + + public static string GetHtmlByUrl(string url) + { + using (WebClient wc = new WebClient()) + { + try + { + wc.UseDefaultCredentials = true; + wc.Proxy = new WebProxy(); + wc.Proxy.Credentials = CredentialCache.DefaultCredentials; + wc.Credentials = System.Net.CredentialCache.DefaultCredentials; + byte[] bt = wc.DownloadData(url); + string txt = System.Text.Encoding.GetEncoding("GB2312").GetString(bt); + switch (GetCharset(txt).ToUpper()) + { + case "UTF-8": + txt = System.Text.Encoding.UTF8.GetString(bt); + break; + case "UNICODE": + txt = System.Text.Encoding.Unicode.GetString(bt); + break; + default: + break; + } + return txt; + } + catch (Exception ex) + { + return null; + } + } + } + + public static string GetCharset(string html) + { + string charset = ""; + Regex regCharset = new Regex(@"content=[""'].*\s*charset\b\s*=\s*""?(?[^""']*)", RegexOptions.IgnoreCase); + if (regCharset.IsMatch(html)) + { + charset = regCharset.Match(html).Groups["charset"].Value; + } + if (charset.Equals("")) + { + regCharset = new Regex(@"<\s*meta\s*charset\s*=\s*[""']?(?[^""']*)", RegexOptions.IgnoreCase); + if (regCharset.IsMatch(html)) + { + charset = regCharset.Match(html).Groups["charset"].Value; + } + } + return charset; + } + } + + +} diff --git a/NTU_Autoboot/Service1.resx b/NTU_Autoboot/Service1.resx new file mode 100644 index 0000000..6ca8d31 --- /dev/null +++ b/NTU_Autoboot/Service1.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + \ No newline at end of file diff --git a/NTU_Autoboot/bin/Debug/NTU_Autoboot.exe b/NTU_Autoboot/bin/Debug/NTU_Autoboot.exe new file mode 100644 index 0000000000000000000000000000000000000000..66b6ffe45fe3813a6007978456c78d7b0a45aeb8 GIT binary patch literal 12288 zcmeHNdvF`)ao_K7I6O!~0{GHf5M|MjNJ6CEQbbD>9};DeqDe|hY}(WjIFgV69CQar zWMs)yotKkn5+`k@b`y`Kq)pt(!=7t>(|DYCrg5CU?539c z+wX7$C@G1jlYcVPlWxD={r1~$cfb7}_kn%4ev&*yq~d+&9iqok^0QmQ-wkF^9a{PI z5Iq`rX4T{3z%#3cCsTGbXPFb0o{1*(Y}U+2$Bd{|$VOAyXxG7^XvRz$@v5re4Mo)h z-9!h3hhDKJ{?hI3C2F7w(Mr?^j^E)v3ptA7J&KpDi=t2*yMd9$fS(8Pg3pgaM?Xlk zQ2sBKMbZ(WJE8X=<41|U;Vm-Diy5Ly&_C}Y+E&j0eRy=vbSdcvy|1iIJa0_pLBFsD z0Cm#WqTQh66NOcA%eE4rq-{rmu%j`&WzTK|ByJgL6M}3j&ERESalB>EZlXP9q(mQv z|NO9R3VA8F7IrToYg>8RRemvXYx1AV^3A1U^-_dgxA+Fh5MO zD5}j>02Tyuu?AqV)c`i8N-$Vg(NqHiS)oreku<@JPl>idyM!`4{Ch8-WIR zc7I~GiMhibNz1Niuu8LU1j|J3xcqt(gAFeRNx7oIPtAr^!5D@q*tib-rL8Kxg?J$< zs8#G{RGh&aLBtuFEue!jI2x>o1<-t^O4hNBb@$JJ13@P0@1KF=MPkwYGZi3K$N;UW zv)bV-;(C@PF0NU0mYZE%v)HN>%wKYrg)gpIYBfuG*;(%6;+o~wex_sV(fJH=UM0=M zf)T9T)(C?mN~{e;6$Q){t*;;`1j&^_8-`r1U*`63WX^L&EtE*_XDjaO~hl9>M_;Hikq%{3`lZTq_rl!7Y zG>06`3(7Sw3@-?W9L?eI!f@Ep9AV81pm{-2Gh9QIZbGj+p1tzUJF^QS%9T1K;!?MM z){6|9m3i8clsQVB@Ci&xp~NuA2Tka6MgF(0;(rNs+rfJo?*d0$LXh-pfPce_L?X;a zu@rOR!@!ZRVX{^sP*w{-eGKET1vP6shi(_lt?-$=Ss+zEl z*;*s;sOEkk6!uolYK>G=HA{hYBrsEn zZlaF6NW;VuJYO-QY%^@U%r}Hq|JHWP(-G?Hmnf)jf6Pr{JNzO#QIZz@z<}D?n-W)6ub>@&m45Mh&%tI*5 z!vM~*as*fQs-#f#F#G^m=5M2>ffo4A~l5DE48q~5NVD+)MBo;O;i%pi=H7$&#$|$9Y{MFvs>S~Q@ zP*!NoSp4M{`Qxy69mkYCxc?&gIgSb<`1!wf;>-K($5D&r6fxyA4O+LO*LwRH^jG*4 z^EgV(q7?)@4P4G8>oR1_43nJzJOtd<%z{94x0ChaHA-a0{2n!=RePH-y{>Z(zzEDg z2Qb5NlFtDqdZu+dFhSm z?&5Y>=WKh*X)sm$1awqjmRcy6ToH&!0F*5?(=2k%=W~}tH;)t?qn3=gaaIY(3ns!; ze;$VtoEB`XV%o)^7Q+b-#y2Rjfc z;`0&?E2g%90??@G>Bl`1tzQO`%! z5H)HK0^g^7RE>~NyW)$`e|i~)l`Fm=?a_YbtD_P1u&U9wylM3NHUFECU*!9lPs5lz z3|Bh?hgFmAz(Cj0UBH9%YyVSzja2oUfgs}e0QCHie;qg}FSo7qo3Q70iN6te0D78~ z3tEI)(Yr=>36@zHV0&&0uqEx{iZ4XH-UngBM)gfV6>T+o4)z4;r(U)sDmhbX9DUvI zFqm#A5hoUbgKel|6l$e&q?$mLS(| zme3T8cSAok`yPO8r~Owj8bnyW@NmuvjP6S9SfIN^(XqfG?71qV2qXl4p9_PS8o9Pf`|b=8)yP#$vXO+KL+>{@arfp;R`C` zU-mNmw5**}*DC{2w(UcUQt(XBq@=!0tCd<%4@&ABX#oxP+_b7BsnDI0`Zk>kY)}+Z z8@TQqPAl6K4=t9|x9MxhJ})hk)Q9Mwpv6lcxq&4=LnrCWpqjA}Fm+B+`6Bh0cbDR& z4>US;rrM+U>CGbbU3EXGAKvKHJ?G!A1h6JCx`G}rQUYUELA%$oVUOaNm>4cgwqn9ll<+1b>0J9qh7IE(dZVy zTDnhiE=YJE9Sp1hXB9H&K6)PT0@+@Me=70ch&9mg179=FjpJeiJtA8@B;m9Od3V#a zcstNTC&UH+eiGtG{sFp#+QW2C{9N=v{)~DD-2+P!!2cDtK0?n^E!`_Q_ldi`IeJ2B zdxDPoKTj9Llj6%#+rwC4Z_}Qn8d?%~hF+$RLE8zjAox7J0r?*Svdu5kTgaT3=`sIL z=^?Q+_zTE<$^Y-*%B&PZ{SEL>kRpU=RsEudo(RlRn;1}+ibuq+eK;zL@A+1XC&cUO zT5(DIz|%uv8Mm-_%-<@);#L0^aaptlc8V9p3jZE)nQl~BW;x=?UhCo);teq=R>@YY z#D~2Z&=145H^gk97O>sV_yZEZaNGmk-h1-rpb&+;1E+V@Qc(of!dKN~Zx=(+2>X=re#DC47&BosxeueHQ#7$+=C! z1U(AQahe6R=~bnZPSXxgRJofrdzRqLK20I9PuwCtCGNury(<1gJVyUO>I|kG=2z)C z7Qm69M3SO>QBw1HZ%VS9SD`$39iFrPmg^@vJlBl*FJouoQz+w?fO|2+PtdQp&z<>H z#<1E(yVH8kHj+1ujgD>|ZKVS#JAbr|h79XuDq*yd?I68bJFlnHXy9@NEHh!)c3Fj^ zkS2`$=%L}BZM3t`Ocv6{O*AxZ=Z#Ff_aN;x@(0X>p6(rBbihhwbZfe+e~7xwQ`xks zC%g2#PMu~ZV`e3qu@k11PK~)bI!zdn$fwM#9p7tY4J(zP;YrKTldvm4+MU(M(ngZz z`$l>)>G~$N-0Y!-ST%I5CV?e3`*Q-jbnY<6cIbpyI>pE9i^Ug(i4UoouRyL z<>92^_?%58T)YpF(I*V*NG1pMERasiNE+FEN>6v{iAjTcyHa+}wAotOxL?m0(t~2) zi?kesxw@WI+K>cdx6icm5+4UM>$X0G;gUqbMcAPOsjNXqEI24J4wN)~csd8m^jyAR z&H1!Px4}!BfR2fv%uEiQSTf!^qSTScd2y_eH)wAmRYr9gV}*$c_NgR+#)ngOY96n{ zwvEhKdU`mOFBhF-TYAz!VjM4N8P+X~Qx9%^4U9)wh1-ThbJ(zKBu1%~TZzFQPfZjo zo%80}>Mp}hSgG9n%E3Z*F11TdoKQ$TgGO4Pl9*kpcYDO-NEQNPW&Kz{+3J&``|GKkCSjLN$#SY`eKyuBn>3kcoco9p=%;ieUz~oFGz*lIm-KXah zlQfjdz`=vU{-z6?>yTJ(Z=7T&~N^ zFvhJq3zmiMi<}O*$hgK08so)fhxS@#Ay-<4Xf8|2cpcV6Ap>3g1sP~OaO6BzB-K#q$%!3~Rsaot};Z6nK^;=DrE42}<(iQ`7zan;Rn86lbNHYMCSY;zKH$i4>5R2EG* z8p!K>0i8QXic%^S`B|uTB&Mfr>^j+mo~Itu%Ahzn#_7mR-nL!)VG}tvaetkYx`pV< zu8QH6cxO6=DL_Yzu_88{$Q7~PY>M~f)cfTsE0-UqiL(|UA~*_24i}y zZDPrG{d39kM3wUxhX%shJUM8bC>XY5FG7$_>Q?e#A)hPcrMf{QnZgQ-Wp`dxpLx>g z=im0+6`k?4Ie{nx!69QJU2t;|n{~f=B$Z8?r<|Oj4$IP~r7yflcF7J*Ynsg5s7ya> zG1Q&O0rG$$F{Y-aG6(BL3>}Q9wx5P^s~RO5-7)dnx%I78PU3l*!b>yHOrpqB4xjw%@oxh@C0kLw0Y~XLZI!T%Hi5eXKZ>@ZT#u`Q928k- zr9V2vXVIu^oj^?iPUKO$29|b0hf~tZa@icDF+=E-w2XDp@hReO7 zIm90&M-rE4&@V#ELz=_j8Z@pZ&C#Joar*!}UXLYImeRd4KTFaTj|qa_6K3a%sn9=DZp73T>59&ADMa4&(4GZ!Fol)Ur6|d-={h) z7x?^e+5Qi$CFLH*% zfIvVCyK^qUtpEuy?6AT?Y4Uv>IT`ivxmrYB2}yfD=oBx8d_E7Hxu8Hn_}pTz42#P^(jQT$_{6?|1atkfN`^jyE0ojal9cxRrnSKpL+Vbi>wd+qSeNwkBEJWvTXbVnTg%w?+VR89*7ye48LFA9qgDQP%|i=?MRtqn$Xz;*Ov_ zYZUU9o^Fl~6voo2#LdR^uzB3bwvTPys&7tg-qN;x<0hkZ+xFGhcIJG`x_u5Ac?Cwf z&p<~P|7V;3SnXz4UWg`N;gVg$&)F31#w+jgnd?0Kds_K3IMg*1iJiDK`^($AKOTAd zJ8x}1{~V85=Z+D+%&|w(#&~|D%S<>&>=EQ6zjGh=Bj(t#5%~=>j~&k?$LI^_-+i89 zJnB;OOZRWI9PVhRiH{9Kej&@8FpPK--`o7WvxcI(CH8*<{JW1dV}^gz9Khjcz8;yn z{C9BI@LBFECOD4#^pE?%A>b2ye2SyV(_t~WBv(} z>-przJN_R0o+M;+_>^P89zLpwk4k!+5lTWYpRp~R3*9IZ?U!~REcU@?TDIFABc_~)z8m{@ z$aoJx7k_jV5bJzd1PC~PVU5!D;@m9bJiqPL(RO3K4f~#e7XB<@pT=PEG$L?)dG~Zq z^!)_UYi{BrPOtyn-|yTtl}SfWIybHD4Q=t(hNw}zMr?1uwSUXDhA6(`@iCjm=X86+ zv|%^wx~VEy72K&8uYIFXk+s_!3RZT9ja$KtZntDo3Cpz2@q7#J5O(NxCVsN5A)3*% zsd0QFyBm`156Ys^Ic2@_T0K8K&nDir8lrp=-rmqRjTm3bwt6<}T zYutR7_H1a7?a;T4+g9ABPZw!$Eay|+Na81rlemhWFzk1!b)%~_il?N + + + + + \ No newline at end of file diff --git a/NTU_Autoboot/bin/Debug/NTU_Autoboot.pdb b/NTU_Autoboot/bin/Debug/NTU_Autoboot.pdb new file mode 100644 index 0000000000000000000000000000000000000000..0e5a0f807baf182801ab2d91e646c7652d6a2cb3 GIT binary patch literal 38400 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 literal 0 HcmV?d00001 diff --git a/NTU_Autoboot/bin/Debug/SimpleWifi.dll b/NTU_Autoboot/bin/Debug/SimpleWifi.dll new file mode 100644 index 0000000000000000000000000000000000000000..8284a82aa1905a798925e59657e8b18107509691 GIT binary patch literal 54784 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 SgL<6bN +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] diff --git a/NTU_Autoboot/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/NTU_Autoboot/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000000000000000000000000000000000000..a3a5e9de8261facfe5e37db8bbb5d037f9ba53a3 GIT binary patch literal 1162 zcmcIj%Z}496m{Ap)5i=`Sg>LdcA%-Olu~9ust^P!5U+t&!zKc`$xX59*dse>89sx5 z<1g6p0pJ^|!c>J_E#)|I&h*8g_%I6h*0FD4{Gg6W!pnoC==2fQyNmgB(u7em2OCvtBP9gsjgz z6uY@yV|-x>$j1dM09nn93#h*8H-7)JE`)%juoet`#>}UJO$DIqX5E5|@L#HL39Xlk zr6ZOUO7E@C)3$aam7g;Wx`F$S`4@2QqVdm|D8Ud?C!W`CTwnQkqf;)KSjT*Sd-50 zeg_$7kO>5jjDg%{98A1UYCN)hSSme_>FcMHKVOTx^qAg>SBDsbUho9${s|aEQz86@ z)hu_Z87Z0ZS*aP`A$=}Q!Gx%!n^tS>J2v;n4xOTL@ze|nxS5q8e2~-V%wNcMi>e^>sW719G-1r6?#(26|fUaed zkXo(gkY>Zd4k3rp!H=)s8d!6!R?9!c*%m}d`(eL#pEzgMc*0?Q&5*2N3 za}_YRr~`)!GcP<(_^XBGbZQ%<;=+HQoij7^mrmsaR|gW_`w(c!+;nOqD7)PL4eBLv z2>$zWCRdrQ%vZ8mXEwufte+qkzJT;gz+H#%R(%ap)ILd8tAR8(nOya2fmTmY`3ZAf zaSYCqQs9-{`tpeepS)7TI65!<3a_qk7shSoJKSL!S|h1dO;rNdU6IU#V<8V)T_sk= zzOhSvE5dbfzR#(##AFq8Tdf$B73g&|qF(W;FC-M8!Y~x8zS8L5xpxi2Z*L#eFxMFR znBQ#T*|qkIS}7Ojsq_^$3tWP&h2)?{YK~^I2u#}h8%*!3k?NI(p_&vGj1bLgR6><2 zE$inB37nV)3gILgx)_WLDC1YU)`ZUwLB71XxxiJ;Wpx6)s@U9UQw_xpDQr+m$R+fi zYn&5qxuyy@n}M&n2Thf$mKsq~6M=$FsDK0?O|3}bq0s}h^hmZ^!>|}VMz3MSV!bGP z;_5R?V)OHC)}EcqF6L$+v#_|EzRiz&>S`2m*zIgs@42~nyt_rC z*hTHr6ov77zNb2TfVvwriapfbpq+Yg?#77+Cwfr~Ci>{Mp9Io@SmFT+{2CyUATdZ{ z2*sfB5M|65Mo~E3Y%-^JMI_S4OoG)WyOz1WTxxU3^wEqtZ%(IM6tqbE4m|L+vervm^x0bqv?vRqEm1zO3Q!KJC>0XT5|W`!P{KWGGv9OO zW7^E#hs0Op@Cb^hmwjpx{DyBv5=V^Dh*aC{ROq!aN(P#vzQ+4LPjS~6!@EIj&6v4N zF1wic2LF!@CMlrwF~&)l$K3ZE<1ya%nU3ok6X6}4K$2n}x<*7lcjpK!)oP|45`SY7 z6&LQTSY!4ftAc82PoXwPZRCbkOc7FH#*lh_vM~3?YR53uTrp(T7uL2Npv$XlHDYu= z(99S2nXH8qe~NG{61Wzf3}K!j%*JgoX@$WmalxRheN8E;HDjd%6 z2gJ0a#QfcJL!cj{4kZD7r9>#g5iQI-O{RbY>50QJ(7GQ~XaD*gI+z zN3rLhzV<8ZdabBi2%@s^7i(5g?E6kHeuvZIo!xis@O1_p+SK%5g?SzMBus~417oL^d$oLUTL1*ImYq!#HYR*8GxXUf^%t3Noi54ZC+|=Nl{{sjzU0bQch;FcWPxwes*e}ZIZcpqG__J onW3ezNveT`r81^vrFkWpxv4PQgHubGfR2KJ07n-P+5+SQ04Y>DD*ylh literal 0 HcmV?d00001 diff --git a/NTU_Autoboot/obj/Debug/NTU_Autoboot.Service1.resources b/NTU_Autoboot/obj/Debug/NTU_Autoboot.Service1.resources new file mode 100644 index 0000000000000000000000000000000000000000..6c05a9776bd7cbae976fdcec7e3a254e93018279 GIT binary patch literal 180 zcmX?i>is@O1_p+SK%5g?SzMBus~417oL^d$oLUTL1*ImYq!#HYR*8GxXUf^%t3Noi54ZC+|=Nl{{sjzU0bQch;FcWPxwes*e}ZIZcpqG__J onW3ezNveT`r81^vrFkWpxv4PQgHubGfR2KJ07n-P+5+SQ04Y>DD*ylh literal 0 HcmV?d00001 diff --git a/NTU_Autoboot/obj/Debug/NTU_Autoboot.csproj.CopyComplete b/NTU_Autoboot/obj/Debug/NTU_Autoboot.csproj.CopyComplete new file mode 100644 index 0000000..e69de29 diff --git a/NTU_Autoboot/obj/Debug/NTU_Autoboot.csproj.CoreCompileInputs.cache b/NTU_Autoboot/obj/Debug/NTU_Autoboot.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..e69577d --- /dev/null +++ b/NTU_Autoboot/obj/Debug/NTU_Autoboot.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +a153f09e1e59aea90a8e371dbff2166b5f969a2e diff --git a/NTU_Autoboot/obj/Debug/NTU_Autoboot.csproj.FileListAbsolute.txt b/NTU_Autoboot/obj/Debug/NTU_Autoboot.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..7dc9b86 --- /dev/null +++ b/NTU_Autoboot/obj/Debug/NTU_Autoboot.csproj.FileListAbsolute.txt @@ -0,0 +1,11 @@ +C:\Users\left\Documents\NTU\NTU_Autoboot\bin\Debug\NTU_Autoboot.exe.config +C:\Users\left\Documents\NTU\NTU_Autoboot\bin\Debug\NTU_Autoboot.exe +C:\Users\left\Documents\NTU\NTU_Autoboot\bin\Debug\NTU_Autoboot.pdb +C:\Users\left\Documents\NTU\NTU_Autoboot\obj\Debug\NTU_Autoboot.ProjectInstaller.resources +C:\Users\left\Documents\NTU\NTU_Autoboot\obj\Debug\NTU_Autoboot.csproj.GenerateResource.cache +C:\Users\left\Documents\NTU\NTU_Autoboot\obj\Debug\NTU_Autoboot.csproj.CoreCompileInputs.cache +C:\Users\left\Documents\NTU\NTU_Autoboot\obj\Debug\NTU_Autoboot.exe +C:\Users\left\Documents\NTU\NTU_Autoboot\obj\Debug\NTU_Autoboot.pdb +C:\Users\left\Documents\NTU\NTU_Autoboot\obj\Debug\NTU_Autoboot.Service1.resources +C:\Users\left\Documents\NTU\NTU_Autoboot\bin\Debug\SimpleWifi.dll +C:\Users\left\Documents\NTU\NTU_Autoboot\obj\Debug\NTU_Autoboot.csproj.CopyComplete diff --git a/NTU_Autoboot/obj/Debug/NTU_Autoboot.csproj.GenerateResource.cache b/NTU_Autoboot/obj/Debug/NTU_Autoboot.csproj.GenerateResource.cache new file mode 100644 index 0000000000000000000000000000000000000000..38ed27d66902e111f63df1ab5a5dddcb7a60c1b4 GIT binary patch literal 1011 zcma)4!D`z;5S466v1GfI4*Omofn&LahsnEc_6Gp*sw~8ZXNkPtsk(N z3~BINqN~rQYhz)Fo=b^(&~THyXXd2TUefru$0eGQFTjOIrT=c+LO^t&7~f~)(bkm{ zwUJt`miB-Wwux(eeb&nj3dZ-&|MTh1 zTapt+r3|`YSi|I!Aksqs{9FSri2egBwayaQR>hfk1&Cbmjt!WH98K#^q z;pv^aWX4Vu7nuOQeWwR!!dMgFfHd9m+K-VWB*_;~D$jpj{yukI5>cvYQIE9${m}n4 QaW2l?7Qrc6)T5~X14%0u4FCWD literal 0 HcmV?d00001 diff --git a/NTU_Autoboot/obj/Debug/NTU_Autoboot.exe b/NTU_Autoboot/obj/Debug/NTU_Autoboot.exe new file mode 100644 index 0000000000000000000000000000000000000000..66b6ffe45fe3813a6007978456c78d7b0a45aeb8 GIT binary patch literal 12288 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 literal 0 HcmV?d00001 diff --git a/NTU_Autoboot/packages.config b/NTU_Autoboot/packages.config new file mode 100644 index 0000000..8d10191 --- /dev/null +++ b/NTU_Autoboot/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file