- 浏览: 324022 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
request1129:
数字签名有效期过了
Asp.Net(IE) ScriptX/smsx.cab 打印控制 如何使用详细教程 -
newLinuxJava:
...
Eclipse报错:The selected JRE does not support -
pimkle:
骈阗...............
Java 获取中文的全拼英文字母及全拼首字母 -
hyw520110:
...
Eclipse报错:The selected JRE does not support -
viptmd:
数字 不能编码 ,但是能解码
Java VCF 格式解析
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) //{ // if (!(bool)mo["IPEnabled"]) // { // //如果网卡未启动就直接跳过 // continue; // } // //设置注册表的内容 // string sid = mo.GetPropertyValue("SettingID").ToString(); // RegistryKey rk = EditReg(sid); // if (rk != null) // { // rk.SetValue("IPAddress", "0.0.0.0"); // rk.SetValue("SubnetMask", ""); // rk.SetValue("DefaultGateway", ""); // rk.SetValue("NameServer", ""); // rk.SetValue("EnableDHCP", "dword:00000001");//自动 // //Convert.ToInt16(1); // } // //设置IP 自动获取 // mo.InvokeMethod("EnableDHCP", null, null); // //设置DNS 自动获取 // inPar = mo.GetMethodParameters("SetDNSServerSearchOrder"); // inPar["DNSServerSearchOrder"] = null; // mo.InvokeMethod("SetDNSServerSearchOrder", inPar, null); //} } /// <summary> /// 修改IP地址 /// </summary> /// <param name="nic"></param> /// <param name="ip"></param> /// <param name="mask"></param> /// <param name="way"></param> /// <param name="dns"></param> public static void SetIpAddress(string nic, string[] ip, string[] mask, string[] way, string[] dns) { nic = GetNICId(nic); ManagementObjectCollection moc = Conn.GetMCInstances(); ManagementBaseObject inPar = null; foreach (ManagementObject mo in moc) { string nicid = mo.GetPropertyValue("SettingID").ToString(); //当前网卡设置IP,其他网卡设置自动获取 if (nicid.Equals(nic)) { //IP 地址设置 if (ip != null && mask != null && way != null) { //设置IP地址 inPar = mo.GetMethodParameters("EnableStatic"); inPar["IPAddress"] = ip; inPar["SubnetMask"] = mask; mo.InvokeMethod("EnableStatic", inPar, null); //设置网关地址 inPar = mo.GetMethodParameters("SetGateways"); inPar["DefaultIPGateway"] = way; mo.InvokeMethod("SetGateways", inPar, null); //设置DNS inPar = mo.GetMethodParameters("SetDNSServerSearchOrder"); inPar["DNSServerSearchOrder"] = dns; mo.InvokeMethod("SetDNSServerSearchOrder", inPar, null); return; } } ////设置IP 自动获取 //mo.InvokeMethod("EnableDHCP", null, null); ////设置DNS 自动获取 //inPar = mo.GetMethodParameters("SetDNSServerSearchOrder"); //inPar["DNSServerSearchOrder"] = null; //mo.InvokeMethod("SetDNSServerSearchOrder", inPar, null); //设置注册表的内容 RegistryKey rk = EditReg(nicid); if (rk != null) { //rk.DeleteSubKey("DisableDhcpOnConnect"); try { rk.DeleteValue("DisableDhcpOnConnect"); } catch { } try { rk.SetValue("EnableDHCP", "1", RegistryValueKind.DWord); } catch { } try { rk.DeleteValue("NameServer"); } catch { } try { rk.SetValue("IPAddress", "0.0.0.0"); } catch { } try { rk.DeleteValue("SubnetMask"); } catch { } try { rk.DeleteValue("DefaultGateway"); } catch { } //rk.Flush(); rk.Close(); } } } /// <summary> /// 加载网卡ID /// </summary> /// <param name="names"></param> /// <returns></returns> public static string GetNICId(string nicname) { string name = null; NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces(); foreach (NetworkInterface adapter in nics) { if (adapter.Name.Equals(nicname)) { name = adapter.Id; } } return name; } /// <summary> /// 加载网卡名称 /// </summary> /// <param name="names"></param> /// <returns></returns> public static List<string> GetNICNameList(List<string> names) { List<string> list = new List<string>(); NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces(); foreach (NetworkInterface adapter in nics) { if (names.Contains(adapter.Id)) { list.Insert(0, adapter.Name); } else { list.Add("(不可用)" + adapter.Name); } } return list; } /// <summary> /// 获取对应的注册表项 /// </summary> /// <param name="subkey"></param> /// <returns></returns> public static RegistryKey EditReg(string subkey) { try { RegistryKey rk = Registry.LocalMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces"); return rk.OpenSubKey(subkey,true); } catch { return null; } //本地 {4D5423C7-F885-4787-A1FA-18CB41BDEFC5} //无线 {B74AB920-C254-4FF3-9B49-2F495DD8079B} //rk.GetValue(""); //rk.SetValue("",""); } } }
DBReadAccess.cs:
using System; using System.Collections.Generic; using System.Text; using System.Data.OleDb; using System.Data; using System.Configuration; namespace IPSwitch { /// <summary> /// 处理access的类 /// </summary> public class DBReadAccess { /// <summary> /// Access 的数据库连接字符串. /// </summary> private static readonly string connString = ConfigurationManager.ConnectionStrings["DatabaseConnectionString"].ConnectionString; //@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\Database.mdb;Jet OLEDB:Database Password=switch"; private static OleDbConnection conn = null; /// <summary> /// 单例 返回连接对象 /// </summary> /// <returns></returns> private static OleDbConnection GetConn() { if (conn == null) { //connString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString.ToString(); conn = new OleDbConnection(connString);// 建立数据库连接. } return conn; } private static void isopen() { // 初始化实例 DBReadAccess.GetConn(); if (conn.State != ConnectionState.Open) { conn.Open(); } } /// <summary> /// 根据sql语句,获取datatable /// </summary> /// <param name="sql"></param> /// <returns></returns> public static DataTable GetDataTableBySQL(string sql) { isopen(); DataTable dt = new DataTable(); OleDbDataAdapter adapter = new OleDbDataAdapter(sql, conn);// 创建一个适配器 adapter.Fill(dt);//绑定table adapter.Dispose(); conn.Close();// 关闭数据库连接. return dt; } /// <summary> /// 根据sql语句查询第一行第一列的值 /// </summary> /// <param name="sql"></param> /// <returns></returns> public static object GetObjectBySQL(string sql) { isopen(); OleDbCommand cmd = conn.CreateCommand();// 创建一个 Command. cmd.CommandText = sql;// 定义需要执行的SQL语句. object obj = cmd.ExecuteScalar();//查询第一行第一列 cmd.Dispose(); conn.Close();// 关闭数据库连接. return obj; } /// <summary> /// 根据sql语句执行更新语句 /// </summary> /// <param name="sql"></param> /// <returns></returns> public static int GetExecuteBySQL(string sql) { isopen(); OleDbCommand cmd = conn.CreateCommand();// 创建一个 Command. cmd.CommandText = sql;// 定义需要执行的SQL语句. int num = cmd.ExecuteNonQuery(); cmd.Dispose(); conn.Close();// 关闭数据库连接. return num; } } }
更多的页面操作请下载附件查看源码。
- IPSwitch.rar (58.1 KB)
- 下载次数: 28
- IPSwitch_源码.rar (346.9 KB)
- 下载次数: 47
发表评论
-
C# 输出流转换成输入流操作XML
2012-02-17 10:33 5172C# 输出流转化成输入流操作XML C# C ... -
C# 输出流转换成输入流操作XML
2012-02-17 10:33 0C# 输出流转化成输入流操作XML C# Co ... -
C# 访问 .net Webservice
2012-01-17 20:35 1438C# 访问 .net Webservice 首先 ... -
C# 使用xsd文件验证XML 格式是否正确
2012-01-17 20:20 6035C# 使用xsd文件验证XML 格式是否正确 核 ... -
C# 操作Access数据文件
2011-12-23 22:24 1369C# 操作Access数据文件 using Syste ... -
C#让程序自动以管理员身份运行
2011-12-23 10:46 2403C#让程序自动以管理员身份运行 UAC来控制程序访问 ...
相关推荐
将txt中的ip地址直接转换成access数据库
自由修改IP地址,并可以保存不同方案,数据库采用Access,将IP.mdb放在我的文档下。不过目前对于本地和无线以及双网卡的情况,还不能辨认,只能一视同仁,对活动网卡全部修改。
用asp c#实现的IP查询功能 ,支持url查询,支持ip地址查询.其中还包含一个ip范围的access数据库,这个我认为很有用,可以很方便的查找到ip地址的大概范围.其中为源代码.是aspx格式...
VS2008版的C#通过局域网连接Access数据库,www.codefans.net截图所示...第一步配置数据源,先输入局域网电脑IP地址、登录名及密码,然后进入下一步,输入本机数据源用户名和密码,程序开始试图连接该机的Access数据库。
目前还不算完整功能的呼叫中心,已有功能:根据IP实时显示城市得到天气状况,日历功能,备忘录,数据库用Access可以更新
QQ的IP地址导出小工具 此程序为“QQ IP数据库纯真版”程序导出的文本数据转换为Access数据库的小工具。 主要用于网站留言版和论坛中的用户IP查地址功能。还可以用于测试计算机的速度哦。
实例181 使用线程扫描局域网ip地址 实例182 使用线程休眠控制图片以百叶窗效果显示 实例183 使用线程控制向窗体中拖放图片并显示 实例184 使用线程制作动画效果的状态栏 实例185 使用线程遍历文件夹 实例186 使用...
第7章 操作系统与Windows相关程序 324 7.1 启动相关 325 实例233 进入Windows系统前发出警告 325 实例234 实现注销、关闭和重启计算机 326 7.2 获得磁盘属性 328 实例235 获得硬盘序列号 328 实例236 获取...
273 实例190 获取窗口文本 273 实例191 判断文件是否正在被使用 274 实例192 在程序中调用.HLP文件 275 实例193 C#中实现文件拖放 276 实例194 文件比较 276 第7章 操作系统与Windows...
第7章 操作系统与Windows相关程序 324 7.1 启动相关 325 实例233 进入Windows系统前发出警告 325 实例234 实现注销、关闭和重启计算机 326 7.2 获得磁盘属性 328 实例235 获得硬盘序列号 328 实例236 获取...
第7章 操作系统与Windows相关程序 324 7.1 启动相关 325 实例233 进入Windows系统前发出警告 325 实例234 实现注销、关闭和重启计算机 326 7.2 获得磁盘属性 328 实例235 获得硬盘序列号 328 实例236 获取...
实例133 如何获取主机名和IP地址 实例134 如何 实现连续的PING 实例135 如何扫描端口 第8章 Web应用 ---------------------------------- 实例136 如何在Web页中使用广告控件 实例137 如何在Web页中使用表格控件 ...
C#编程经验技巧宝典源代码,目录如下: 第1章 开发环境 1 <br>1.1 Visual Studio开发环境安装与配置 2 <br>0001 安装Visual Studio 2005开发环境须知 2 <br>0002 配置合适的Visual Studio 2005...
实例181 使用线程扫描局域网ip地址 345 实例182 使用线程休眠控制图片以百叶窗效果显示 347 实例183 使用线程控制向窗体中拖放图片并显示 349 实例184 使用线程制作动画效果的状态栏 351 实例185 使用线程遍历文件夹...
案例9.3 动态修改本机IP地址 案例9.4 网络连接和传输信息 案例9.5 网络在线检测 案例9.6 网络在线浏览器 案例9.7 HTTP动态下载 案例9.8 动态查看网页标题信息 案例9.9 电子邮件的发送 本章小结 第10章 Web...
│ ├─实例130 如何发送电子邮件 │ │ ├─实例131 如何实现点对点的聊天 │ │ ├─实例132 如何在线收听网络电台节目 │ │ ├─实例133 如何获取主机名和IP地址 │ │ ├─实例134 如何实现连续的...