C#获取客户端相关信息

这篇文章主要介绍了C#获取客户端相关信息的方法,以实例形式总结了C#获取客户端IP地址、网络连接、硬件信息等相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了C#获取客户端相关信息的方法。分享给大家供大家参考。具体如下:

【本机IP地址】

第一种方法:

IPHostEntry hostentry = Dns.Resolve(Dns.GetHostName());
IPAddress address=hostentry.AddressList[0];

第二种方法:

Dns.GetHostAddresses(Dns.GetHostName())[0].ToString();

【判断当前用户是否连网】

PingReply reply = new Ping().Send(address);
if (reply.Status == IPStatus.Success)
 MessageBox.Show("Ping successfully.");
else
 MessageBox.Show("Ping failure.");

【获取当前客户端硬盘盘符】

string[] mydrivers = Directory.GetLogicalDrives();

【判断客户端移动硬盘、硬盘】

SelectQuery select = new SelectQuery("select * from win32_logicaldisk");
ManagementObjectSearcher mos = new ManagementObjectSearcher(select);
foreach (ManagementObject disk in mos.Get())
{
  string msg = disk["Name"].ToString();
  DriveInfo info = new DriveInfo(msg);
  switch (info.DriveType.ToString())
  {
   case "Unknown":
    label1.Text += msg + "这是未知设备__";
    break;
   case "NoRootDirectory":
    label1.Text += msg + "这是未分区__";
    break;
   case "Removable":
    label1.Text += msg + "这是可以动磁盘__";
    break;
   case "Fixed":
    label1.Text += msg + "这是硬盘__";
    break;
   case "Network":
    label1.Text += msg + "这是网络驱动器__";
    break;
   case "CDRom":
    label1.Text += msg + "这是光驱__";
    break;
  }
}

【获取当前显示的长宽】
宽:

Screen.PrimaryScreen.WorkingArea.Width

长:
Screen.PrimaryScreen.WorkingArea.Height

【获取客户端进程信息】

System.Diagnostics.Process[] processes = System.Diagnostics.Process.GetProcesses();

【关闭进程信息】

foreach (System.Diagnostics.Process p in processes)
{
  if (p.ProcessName == "IntelliTrace")
  {
   p.Kill();
  }
}

【判断客户端是否安装声卡】

[DllImport("winmm.dll", EntryPoint = "waveOutGetNumDevs")]
public static extern int waveOutGetNumDevs();
private void button1_Click(object sender, EventArgs e)
{
 if (waveOutGetNumDevs() != 0)
 {
  MessageBox.Show("已经安装声卡");
 }
 else {
  MessageBox.Show("未安装声卡");
 }
}

【获取计算机名称和当前登录用户】
计算机名称:

Dns.GetHostName();

当前登录用户:
Environment.GetEnvironmentVariable("UserName");

你可能感兴趣的:(WPF,C#,c#,wpf)