* MULTIPLE WINDOWS サービスから情報を取得する方法 *
私は中央の管理者マシンとクライアントのような 40 の他の行為を持っており、私がする必要があることは次のとおり
です。- : IPアドレス
- : Macアドレス
- : ホスト名
- :アップロードレート(インターネット接続時)
- :ダウンロードレート(インターネット接続時)
2-能力:
- :接続を切る
- :帯域幅を制限する
PS :これは私の昨年のプロジェクトなので、解決することが非常に重要です。
私がしたこと :
public string addip ()
{
var hostEntry = Dns.GetHostEntry(Dns.GetHostName());
string x =(from addr in hostEntry.AddressList where addr.AddressFamily.ToString() == "InterNetwork" select addr.ToString()).FirstOrDefault() ;
return x;
}
public string hostname ()
{
string x = System.Net.Dns.GetHostName() ;
return x;
}
public string downlo ()
{
List<NetworkInterface> nics = NetworkInterface.GetAllNetworkInterfaces().Where(network => network.NetworkInterfaceType == NetworkInterfaceType.Ethernet).ToList();
NetworkInterface nic = nics[0];
IPv4InterfaceStatistics interfaceStats = nic.GetIPv4Statistics();
int bytesReceivedSpeed = (int)(interfaceStats.BytesReceived - double.Parse(BytesReceived)) / 1024;
BytesReceived = interfaceStats.BytesReceived.ToString();
string x = (bytesReceivedSpeed.ToString() + " KB/s") ;
return x;
}
public string uplo ()
{
List<NetworkInterface> nics = NetworkInterface.GetAllNetworkInterfaces().Where(network => network.NetworkInterfaceType == NetworkInterfaceType.Ethernet).ToList();
NetworkInterface nic = nics[0];
IPv4InterfaceStatistics interfaceStats = nic.GetIPv4Statistics();
int bytesSentSpeed = (int)(interfaceStats.BytesSent - double.Parse(BytesSent)) / 1024;
BytesSent = interfaceStats.BytesSent.ToString();
string x = (bytesSentSpeed.ToString()+ " KB/s") ;
return x;
}