greystar的专栏

分享知识与分享苹果是不一样,苹果会愈分愈少,而自己的知识不会因给了别人就减少了.

尤建波ID:greystar
234010次访问,排名253好友18人,关注者38
人的一切表现,只不过是大脑的神经牵动。相同的一件事,你的大脑处理的结果也不同。它决定着你是笑是哭,是成是败。每个人,都没什么不同,充其量是个木偶,只看你的大脑懂不懂得把你向良好的方向牵动罢了。如果用计算机术语来描述,那就是说,我们需要一条最佳算法。
greystar的文章
原创 198 篇
翻译 0 篇
转载 64 篇
评论 167 篇
greystar的公告
告别IT生活
程序人生

【个人简介】:
网名:greystar
greystar_cn@hotmail.com
来自:江苏苏州
最近评论
greystar:您所说的也是一种方法,希望有更多的朋友能参与讨论.谢谢
forrestsun:非常感谢作者,受益匪浅
我也提一个我的想法,采用版主的作法需要写很多的代码,我比较懒:)我的作法是写一个窗体提供设置然后把设置保存到配置文件中,WINDOWS服务提供参数调用,所以用FORM程序通知WINDOWS服务去调配置文件,如果需要远程的话我是采用WEBSERVICE或REMOTING去写配置然后通知服务去读配置文件。个人在处理多台服务器的WINDOWS服务时是这样用的,抛砖……
路人甲:借用一下了
greystar:那是因为你的编码不正确,你用的是MSVC编码吧.好象很多编码不行.我从网上下了个编码器来处理的.
wwj256:再问个问题:
我用的是gowk的内核,为何我的那句this.hic=ICOpen(FOURCC.ICTYPE_VIDEO,this.fourcc,this.mode);
老是返回的为0呀???

能否发份您集成的那个ICDecompress,ICSeqCompressFrame子类,让俺们都学习学习!

或发到您的博客让,让大家共……
文章分类
收藏
相册
春游
儿子的相片
乱乱的头发
四年前的.N久没拍过了.
BLOG邻居
http://blog.csdn.net/upto
叶帆工作室(RSS)
最爱白菜
李洪根
沈逸--csdn(RSS)
灵感之源(RSS)
登峰之道
阿好空间
阿赖的个性空间
常上的网站
.NET Tools评测网 (RSS)
blogs.msdn.com/csharpfaq
CodeProject
ControlFAQ
DOTNET控件网
Lion互动网络
Mentalis(C#写超强安全组件等) (RSS)
Vml:美洲豹系列教程
报表服务相关
正则表达式
源码下载
邮件大全(E文)
存档
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

原创 C#实现更改IP功能源码 收藏

新一篇: MSDN Code Gallery站点  | 旧一篇: 表格内容为空时怎样显示其边框

 

using System;
using System.Management;
 
public class ChangeIP
{
 
 
 
    private ManagementBaseObject iObj = null;
    private ManagementBaseObject oObj = null;
    private ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
    private readonly ManagementObjectCollection moc;
 
    ///<summary>
    /// example:
    ///<code>
    /// ChangeIP o = new ChangeIP();
    /// string[] ipList = new string[]{"192.168.0.253","192.168.0.250"};
    /// string[] subnetList = new string[]{"255.255.255.0","255.255.255.0"};
    /// o.ChangeTo(ipList,subnetList);
    ///</code>
    ///</summary>
    public ChangeIP()
    {
        moc = mc.GetInstances();
    }
 
    ///<summary>cortrol</summary>
    ///<param name="ipAddr">IPAddr List</param>
    ///<param name="subnetMask">subnetMask List</param>
    public void ChangeTo(string[] ipAddr, string[] subnetMask)
    {
        foreach (ManagementObject mo in moc)
        {
            if (!(bool)mo["IPEnabled"]) continue;
 
            iObj = mo.GetMethodParameters("EnableStatic");
            iObj["IPAddress"] = ipAddr;
            iObj["SubnetMask"] = subnetMask;
            oObj = mo.InvokeMethod("EnableStatic", iObj, null);
        }
    }
 
    ///<summary>cortrol</summary>
    ///<param name="ipAddr">IPAddr List</param>
    ///<param name="subnetMask">subnetMask List</param>
    ///<param name="gateways">gateway List</param>
    ///<param name="gatewayCostMetric">gateway CostMetric List, example: 1</param>
    public void ChangeTo(string[] ipAddr, string[] subnetMask, string[] gateways, string[] gatewayCostMetric)
    {
        foreach (ManagementObject mo in moc)
        {
            if (!(bool)mo["IPEnabled"]) continue;
 
            iObj = mo.GetMethodParameters("EnableStatic");
            iObj["IPAddress"] = ipAddr;
            iObj["SubnetMask"] = subnetMask;
            oObj = mo.InvokeMethod("EnableStatic", iObj, null);
 
            iObj = mo.GetMethodParameters("SetGateways");
            iObj["DefaultIPGateway"] = gateways;
            iObj["GatewayCostMetric"] = gatewayCostMetric;
            oObj = mo.InvokeMethod("SetGateways", iObj, null);
        }
    }
 
    ///<summary>cortrol</summary>
    ///<param name="ipAddr">IPAddr List</param>
    ///<param name="subnetMask">subnetMask List</param>
    ///<param name="gateways">gateway List</param>
    ///<param name="gatewayCostMetric">gateway CostMetric List, example: 1</param>
    ///<param name="dnsServer">DNSServer List</param>
    public void ChangeTo(string[] ipAddr, string[] subnetMask, string[] gateways, string[] gatewayCostMetric, string[] dnsServer)
    {
        foreach (ManagementObject mo in moc)
        {
            if (!(bool)mo["IPEnabled"]) continue;
 
            iObj = mo.GetMethodParameters("EnableStatic");
            iObj["IPAddress"] = ipAddr;
            iObj["SubnetMask"] = subnetMask;
            oObj = mo.InvokeMethod("EnableStatic", iObj, null);
 
            iObj = mo.GetMethodParameters("SetGateways");
            iObj["DefaultIPGateway"] = gateways;
            iObj["GatewayCostMetric"] = gatewayCostMetric;
            oObj = mo.InvokeMethod("SetGateways", iObj, null);
 
            iObj = mo.GetMethodParameters("SetDNSServerSearchOrder");
            iObj["DNSServerSearchOrder"] = dnsServer;
            oObj = mo.InvokeMethod("SetDNSServerSearchOrder", iObj, null);
        }
    }
 
    ///<summary>DHCPEnabled</summary>
    public void EnableDHCP()
    {
        foreach (ManagementObject mo in moc)
        {
            if (!(bool)mo["IPEnabled"]) continue;
 
            if (!(bool)mo["DHCPEnabled"])
            {
                iObj = mo.GetMethodParameters("EnableDHCP");
                oObj = mo.InvokeMethod("EnableDHCP", iObj, null);
            }
        }
    }
}
 
 

发表于 @ 2008年02月01日 09:23:00|评论(loading...)|编辑

新一篇: MSDN Code Gallery站点  | 旧一篇: 表格内容为空时怎样显示其边框

评论

#AppFramework 发表于2008-02-03 10:06:20  IP: 10.16.35.*
改完后能立即生效吗?不用启用禁用网卡?
#lgyhack 发表于2008-02-10 14:33:55  IP: 219.156.165.*
应该是需要重新启用网卡连接的 更新数据
#cqcya 发表于2008-02-15 10:37:04  IP: 222.178.88.*
不需要重启网卡连接,上面的C#代码可以用VBS实现
发表评论  


登录
Csdn Blog version 3.1a
Copyright © greystar