netmonitor/NetMonitorClient/ServiceControl.cs

140 lines
5.1 KiB
C#
Raw Normal View History

2010-04-16 11:51:46 +02:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
2010-04-26 12:46:03 +02:00
using System.ServiceProcess;
using System.Net.Sockets;
using System.Net;
2010-04-16 11:51:46 +02:00
2010-04-21 13:48:40 +02:00
namespace NetMonitorClient
2010-04-16 11:51:46 +02:00
{
class ServiceControl
{
2010-04-26 12:46:03 +02:00
private UdpClient client;
private IPEndPoint rep; //remoteEndPoint
2010-05-19 11:44:31 +02:00
private UdpClient answ = new UdpClient(34524);
private IPEndPoint iep = new IPEndPoint(IPAddress.Loopback, 0);
2010-04-26 12:46:03 +02:00
public ServiceControl(string name)
2010-04-16 11:51:46 +02:00
{
2010-04-26 12:46:03 +02:00
ServiceController sc = new ServiceController();
sc.ServiceName = name;
//if (sc.Status != ServiceControllerStatus.Running)
//{
// sc.Start();
//}
this.client = new UdpClient();
this.rep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 34523);
2010-04-16 11:51:46 +02:00
}
2010-05-19 09:34:41 +02:00
internal bool setNetworkAuto(string adapter)
2010-04-16 11:51:46 +02:00
{
if (adapter == null)
{
System.Windows.Forms.MessageBox.Show("Adapter ist not Set!");
2010-05-19 09:34:41 +02:00
return false;
}
byte[] data = Encoding.UTF8.GetBytes("NET AUTO "+adapter);
2010-04-26 12:46:03 +02:00
this.client.Send(data, data.Length, this.rep);
2010-05-19 11:44:31 +02:00
return Boolean.Parse(Encoding.UTF8.GetString(client.Receive(ref iep)));
2010-04-16 11:51:46 +02:00
}
2010-05-19 09:34:41 +02:00
internal bool setNetworkIp(string ip, string subnet, string gateway, string adapter)
2010-04-16 11:51:46 +02:00
{
if (ip == null)
{
System.Windows.Forms.MessageBox.Show("IP address not Set!");
2010-05-19 09:34:41 +02:00
return false;
}
if (subnet == null)
{
System.Windows.Forms.MessageBox.Show("Subnet address not Set!");
2010-05-19 09:34:41 +02:00
return false;
}
if (gateway == null)
{
System.Windows.Forms.MessageBox.Show("Gateway address not Set!");
2010-05-19 09:34:41 +02:00
return false;
}
if (adapter == null)
{
System.Windows.Forms.MessageBox.Show("Adapter ist not Set!");
2010-05-19 09:34:41 +02:00
return false;
}
byte[] data = Encoding.UTF8.GetBytes("NET IP " + ip + " " + subnet + " " + gateway + " " + adapter);
this.client.Send(data, data.Length, this.rep);
2010-05-19 11:44:31 +02:00
return Boolean.Parse(Encoding.UTF8.GetString(client.Receive(ref iep)));
2010-04-16 11:51:46 +02:00
}
2010-05-19 09:34:41 +02:00
internal bool setNetworkDNS(string dns, string adapter)
2010-04-16 11:51:46 +02:00
{
if (dns == null)
{
System.Windows.Forms.MessageBox.Show("DNS address not Set!");
2010-05-19 09:34:41 +02:00
return false;
}
if (adapter == null)
{
System.Windows.Forms.MessageBox.Show("Adapter ist not Set!");
2010-05-19 09:34:41 +02:00
return false;
}
byte[] data = Encoding.UTF8.GetBytes("NET DNS " + dns + " " + adapter);
this.client.Send(data, data.Length, this.rep);
2010-05-19 11:44:31 +02:00
return Boolean.Parse(Encoding.UTF8.GetString(client.Receive(ref iep)));
2010-04-16 11:51:46 +02:00
}
2010-05-19 09:34:41 +02:00
internal bool setNetworkWINS(string wins, string adapter)
2010-04-16 11:51:46 +02:00
{
if (wins == null)
{
System.Windows.Forms.MessageBox.Show("WINS address not Set!");
2010-05-19 09:34:41 +02:00
return false;
}
if (adapter == null)
{
System.Windows.Forms.MessageBox.Show("Adapter ist not Set!");
2010-05-19 09:34:41 +02:00
return false;
}
byte[] data = Encoding.UTF8.GetBytes("NET WINS " + wins + " " + adapter);
this.client.Send(data, data.Length, this.rep);
2010-05-19 11:44:31 +02:00
return Boolean.Parse(Encoding.UTF8.GetString(client.Receive(ref iep)));
}
2010-05-19 09:34:41 +02:00
internal bool setNetworkIpAuto(string adapter)
{
if (adapter == null)
{
System.Windows.Forms.MessageBox.Show("Adapter ist not Set!");
2010-05-19 09:34:41 +02:00
return false;
}
byte[] data = Encoding.UTF8.GetBytes("NET IP AUTO "+adapter);
this.client.Send(data, data.Length, this.rep);
2010-05-19 11:44:31 +02:00
return Boolean.Parse(Encoding.UTF8.GetString(client.Receive(ref iep)));
}
2010-05-19 09:34:41 +02:00
internal bool setNetworkDnsAuto(string adapter)
{
if (adapter == null)
{
System.Windows.Forms.MessageBox.Show("Adapter ist not Set!");
2010-05-19 09:34:41 +02:00
return false;
}
byte[] data = Encoding.UTF8.GetBytes("NET DNS AUTO " + adapter);
this.client.Send(data, data.Length, this.rep);
2010-05-19 11:44:31 +02:00
return Boolean.Parse(Encoding.UTF8.GetString(client.Receive(ref iep)));
}
2010-05-19 09:34:41 +02:00
internal bool setNetworkWinsAuto(string adapter)
{
if (adapter == null)
{
System.Windows.Forms.MessageBox.Show("Adapter ist not Set!");
2010-05-19 09:34:41 +02:00
return false;
}
byte[] data = Encoding.UTF8.GetBytes("NET WINS AUTO " + adapter);
this.client.Send(data, data.Length, this.rep);
2010-05-19 11:44:31 +02:00
return Boolean.Parse(Encoding.UTF8.GetString(client.Receive(ref iep)));
2010-04-16 11:51:46 +02:00
}
}
}