日期:2014-05-16 浏览次数:21573 次
C# 修改IP地址,操作access
?
?使用说明
1. 系统必须安装.NET Framework 2.0 或更高的版本 (文件:dotnetfx2.0.exe)。
2. 将压缩包解压即可使用本程序。
3. 必须在管理员权限运行。
4. 如果系统安装杀毒软件或安全卫士,会弹出修改IP的提示,请记住选择,并允许执行。
5. 修改IP地址,必须让网卡连接上网络才能修改。
?
使用方法:
运行软件后,先配置方案,步骤:
? 1.点击软件界面右上角的 【方案配置】
? 2.安装页面添加方案,添加成功后,点击返回。
? 3.方案列表中就会出现刚才添加的新方案。
? 4.选择一个方案,然后选择网卡(如果只有一个网卡联网,可不用选择)
? 5.点击 【更改 IP 地址】 按钮
? 6.等待更改成功。
?
?
?
核心源码:?
?Conn.cs
using System;
using System.Collections.Generic;
using System.Text;
using System.Management;
using System.Collections;
using Microsoft.Win32;
using System.Net.NetworkInformation;
using System.Runtime.InteropServices;
namespace IPSwitch
{
public class Conn
{
/// <summary>
/// 新增按钮的名称
/// </summary>
public const string _ADDED_NAME = "新增";
/// <summary>
/// 修改按钮的名称
/// </summary>
public const string _MODIFY_NAME = "编辑";
/// <summary>
/// 重置按钮的名称
/// </summary>
public const string _RESET_NAME = "重置";
/// <summary>
/// 删除按钮的名称
/// </summary>
public const string _DELETE_NAME = "删除";
/// <summary>
/// 保存按钮的名称
/// </summary>
public const string _SAVE_NAME = "保存";
/// <summary>
/// 标题文字
/// </summary>
public static string _TITLE = "";
/// <summary>
/// 获取title内容
/// </summary>
/// <returns></returns>
public static string GetTitle()
{
_TITLE = DBReadAccess.GetObjectBySQL("select top 1 g_value from globals where g_name ='title'").ToString();
return _TITLE;
}
/// <summary>
/// 实例化 Win32_NetworkAdapterConfiguration类
/// </summary>
/// <returns></returns>
private static ManagementObjectCollection GetMCInstances()
{
ManagementClass processClass = new ManagementClass("Win32_NetworkAdapterConfiguration");
return processClass.GetInstances();
}
/// <summary>
/// 获取当前系统中所有网卡的名称
/// </summary>
/// <returns></returns>
public static List<string> GetNICNameList()
{
List<string> list = new List<string>();
ManagementObjectCollection moc = Conn.GetMCInstances();
//获取当前系统的所有NIC
foreach (ManagementObject mo in moc)
{
if ((bool)mo["IPEnabled"])
{
//将当前已经启动的网卡名称加以标识
//list.Insert(0,mo.GetPropertyValue("Description").ToString());
list.Add(mo.GetPropertyValue("SettingID").ToString());
continue;
}
//list.Add("(不可用)"+mo.GetPropertyValue("Description").ToString());
}
return GetNICNameList(list);
}
/// <summary>
/// 获取当前可以用网卡
/// </summary>
/// <returns></returns>
public static int GetIPEnabledNum()
{
int i = 0;
ManagementObjectCollection moc = Conn.GetMCInstances();
foreach (ManagementObject mo in moc)
{
if ((bool)mo["IPEnabled"])
{
i++;
}
}
return i;
}
/// <summary>
/// 设置 自动获取IP
/// </summary>
public static void SetIpAddressAuto()
{
return;
//ManagementObjectCollection moc = Conn.GetMCInstances();
//ManagementBaseObject inPar = null;
//foreach (ManagementObject mo in moc)