C# 获取网关地址 读取配置文件 打开关闭exe
2016-07-12 14:42
721 查看
C#好久好久没去用过了,今早写了个C#小程序, 链接手机热点,然后根据发过来的信息去读取配置文件,将配置文件中相应的exe重启,即先关闭后启动.
里面涉及到的一些小块我在这里记录下.
1, 获取链接的手机热点的网关
//得到网关地址
private static string GetGateway()
{
string strGateway = "";
//获取所有网卡
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
foreach (var netWork in nics)
{
IPInterfaceProperties ip = netWork.GetIPProperties();
//获取该IP对象的网关
GatewayIPAddressInformationCollection gateways = ip.GatewayAddresses;
foreach (var gateWay in gateways)
{
if (IsPingIP(gateWay.Address.ToString()))
{
strGateway = gateWay.Address.ToString();
break;
}
}
if (strGateway.Length > 0)
{
break;
}
}
return strGateway;
}
public static bool IsPingIP(string strIP)
{
try
{
Ping ping = new Ping();
PingReply reply = ping.Send(strIP, 1000);
return true;
}
catch
{
return false;
}
}
2, 读取配置文件
3.打开关闭exe
里面涉及到的一些小块我在这里记录下.
1, 获取链接的手机热点的网关
//得到网关地址
private static string GetGateway()
{
string strGateway = "";
//获取所有网卡
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
foreach (var netWork in nics)
{
IPInterfaceProperties ip = netWork.GetIPProperties();
//获取该IP对象的网关
GatewayIPAddressInformationCollection gateways = ip.GatewayAddresses;
foreach (var gateWay in gateways)
{
if (IsPingIP(gateWay.Address.ToString()))
{
strGateway = gateWay.Address.ToString();
break;
}
}
if (strGateway.Length > 0)
{
break;
}
}
return strGateway;
}
public static bool IsPingIP(string strIP)
{
try
{
Ping ping = new Ping();
PingReply reply = ping.Send(strIP, 1000);
return true;
}
catch
{
return false;
}
}
2, 读取配置文件
[DllImport("kernel32")] private static extern int GetPrivateProfileString(string lpAppName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString, int nSize, string lpFileName); // 读取配置文件 private static string ReadINIString(string section, string key, string def, string filePath) { StringBuilder temp = new StringBuilder(1024); try { GetPrivateProfileString(section, key, def, temp, 1024, filePath); } catch { } return temp.ToString(); }
3.打开关闭exe
// 关闭exe Process[] allProgresse = Process.GetProcesses(); foreach (Process closeProgress in allProgresse) { if (closeProgress.ProcessName.Equals(sname)) { closeProgress.Kill(); closeProgress.WaitForExit(); break; } } // 打开exe System.Diagnostics.Process.Start(sPath);
相关文章推荐
- c#调用COM组件
- C#实现把指定数据写入串口
- C#动态创建button的方法
- C#中抽象方法与虚拟方法的区别
- c#中虚函数的相关使用方法
- C#实现给图片加水印的方法
- C#使用加边法计算行列式的值
- C#实现多线程的同步方法实例分析
- C#中尾递归的使用、优化及编译器优化
- C#中的delegate委托类型基本学习教程
- C#实现子窗体与父窗体通信方法实例总结
- C#通用邮件发送类分享
- 举例讲解C#中自动实现的属性
- C#中this的用法集锦
- C#数据结构之顺序表(SeqList)实例详解
- C#.NET获取拨号连接的宽带连接方法
- C#异步绑定数据实现方法
- C#实现AddRange为数组添加多个元素的方法
- C#中Equality和Identity浅析
- C#比较二个数组并找出相同或不同元素的方法