OpenVPN Runner
This commit is contained in:
@@ -46,6 +46,7 @@
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="SetService.cs" />
|
||||
<Compile Include="Service1.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
|
||||
@@ -43,6 +43,8 @@ namespace NetMonitorServer
|
||||
Console.WriteLine(data);
|
||||
if (data.Substring(0, 3).ToLower() == "net")
|
||||
new SetNetworks(data);
|
||||
if (data.Substring(0, 7).ToLower() == "service")
|
||||
new SetService(data);
|
||||
}
|
||||
|
||||
protected override void OnStart(string[] args)
|
||||
|
||||
@@ -120,6 +120,9 @@
|
||||
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>143, 71</value>
|
||||
</metadata>
|
||||
<metadata name="serviceController1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>230, 71</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
|
||||
@@ -0,0 +1,77 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Diagnostics;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
|
||||
namespace NetMonitorServer
|
||||
{
|
||||
class SetService
|
||||
{
|
||||
UdpClient net_send = new UdpClient();
|
||||
IPEndPoint net_send_port = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 34524);
|
||||
System.ServiceProcess.ServiceController serviceController;
|
||||
|
||||
public SetService(string data)
|
||||
{
|
||||
this.serviceController = new System.ServiceProcess.ServiceController();
|
||||
if (data.Substring(0, 13).ToLower() == "service start")
|
||||
this.setServiceStart(data);
|
||||
if (data.Substring(0, 12).ToLower() == "service stop")
|
||||
this.setServiceStop(data);
|
||||
if (data.Substring(0, 14).ToLower() == "service status")
|
||||
this.getServiceStatus(data);
|
||||
}
|
||||
|
||||
private void setServiceStart(string data)
|
||||
{
|
||||
String[] par = data.Split(' ');
|
||||
if (par.Length != 3)
|
||||
return;
|
||||
this.serviceController.ServiceName = par[2];
|
||||
this.serviceController.Start();
|
||||
this.serviceController.WaitForStatus(System.ServiceProcess.ServiceControllerStatus.Running,new TimeSpan(0,0,10));
|
||||
String ret;
|
||||
if (this.serviceController.Status == System.ServiceProcess.ServiceControllerStatus.Running)
|
||||
ret = "true";
|
||||
else
|
||||
ret = "false";
|
||||
byte[] answ = Encoding.UTF8.GetBytes(ret);
|
||||
net_send.Send(answ, answ.Length, net_send_port);
|
||||
}
|
||||
|
||||
private void setServiceStop(string data)
|
||||
{
|
||||
String[] par = data.Split(' ');
|
||||
if (par.Length != 3)
|
||||
return;
|
||||
this.serviceController.ServiceName = par[2];
|
||||
this.serviceController.Stop();
|
||||
this.serviceController.WaitForStatus(System.ServiceProcess.ServiceControllerStatus.Stopped, new TimeSpan(0, 0, 10));
|
||||
String ret;
|
||||
if (this.serviceController.Status == System.ServiceProcess.ServiceControllerStatus.Stopped)
|
||||
ret = "true";
|
||||
else
|
||||
ret = "false";
|
||||
byte[] answ = Encoding.UTF8.GetBytes(ret);
|
||||
net_send.Send(answ, answ.Length, net_send_port);
|
||||
}
|
||||
|
||||
private void getServiceStatus(string data)
|
||||
{
|
||||
String[] par = data.Split(' ');
|
||||
if (par.Length != 3)
|
||||
return;
|
||||
this.serviceController.ServiceName = par[2];
|
||||
String ret;
|
||||
if (this.serviceController.Status == System.ServiceProcess.ServiceControllerStatus.Running)
|
||||
ret = "true";
|
||||
else
|
||||
ret = "false";
|
||||
byte[] answ = Encoding.UTF8.GetBytes(ret);
|
||||
net_send.Send(answ, answ.Length, net_send_port);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user