请教用C++如何修改电脑的ip地址

请问用C++怎么修改电脑的ip地址。
怎么用语句实现修改本机的ip地址呢,每次都手动很麻烦。

------解决方案--------------------
文抄公来也!!!

不重起Windows直接更改IP地址 

注:本文适用于WINDOWS NT/2000/XP/2003

设置IP地址只需要更改注册表中关于适配器的相应设置,但更改后需要重新启动系统才能生效,而AddIPAddress函数只能添加IP而不是更改当前的IP,我们在Windows NT/2000界面上操作不需要重新启动就可以生效,那系统到底做了什么额外的工作才使IP设置直接生效呢?笔者通过跟踪explorer.exe中API的调用发现在netcfgx.dll中调用了dhcpcsvc.dll中一个未公开的API:DhcpNotifyConfigChange,现将不重新启动WINDOWS直接更改IP地址的详细方法介绍如下:

一、获取适配器名称

这里指的适配器名称要区别于适配器描述,比如我的一块网卡,适配器描述是:Realtek RTL8139(A) PCI Fast Ethernet Adapter,适配器名称为:{66156DC3-44A4-434C-B8A9-0E5DB4B3EEAD}。获取适配器名称的方法有多种:

1.1 调用IP helper API取得适配器名称 
C/C++ code
ULONG ulAdapterInfoSize = sizeof(IP_ADAPTER_INFO);
IP_ADAPTER_INFO *pAdapterInfoBkp, *pAdapterInfo = (IP_ADAPTER_INFO*)new char[ulAdapterInfoSize];
if( GetAdaptersInfo(pAdapterInfo, &ulAdapterInfoSize) == ERROR_BUFFER_OVERFLOW ) // 缓冲区不够大
{
    delete pAdapterInfo;
    pAdapterInfo = (IP_ADAPTER_INFO*)new char[ulAdapterInfoSize];
    pAdapterInfoBkp = pAdapterInfo;
}
if( GetAdaptersInfo(pAdapterInfo, &ulAdapterInfoSize) == ERROR_SUCCESS )
{
    do{ // 遍历所有适配器
        if(pAdapterInfo->Type == MIB_IF_TYPE_ETHERNET) // 判断是否为以太网接口
        {
            // pAdapterInfo->Description 是适配器描述
            // pAdapterInfo->AdapterName 是适配器名称
        }
        pAdapterInfo = pAdapterInfo->Next;
    }while(pAdapterInfo);
}
delete pAdapterInfoBkp;