谁知道AddIPAddress怎么用的?msdn看过了,不怎么明白。
知道的贴段用它添加IP地址的代码,可以吗?
                                       谢谢!

解决方案 »

  1.   

    INFO: AddIPAddress and DeleteIPAddress in IP Helper APIs (Q199749)
    http://support.microsoft.com/default.aspx?scid=kb;EN-US;q199749
      

  2.   

    SOCKADDR_IN sockaddr;
    DWORD ip;
    DWORD threadid;
    client_sock = socket(AF_INET, SOCK_STREAM, 0);
    if (client_sock == INVALID_SOCKET)
    {   MessageBox("Socket建立失败!","连接");
       return;
    }
    UpdateData();
    m_IPAddr.GetAddress(ip);
    if (ip == 0)
    {
       MessageBox("请键入IP地址!","连接");
       return;
    }sockaddr.sin_addr.S_un.S_addr = htonl(ip);
    sockaddr.sin_family = AF_INET;
    sockaddr.sin_port = htons(m_Port);
    if (connect(client_sock, (SOCKADDR*)&sockaddr,sizeof(SOCKADDR)) == INVALID_SOCKET)
    {  MessageBox("连接失败!","连接");
       closesocket(client_sock);
       return;
    }
      

  3.   

    DWORD dwRet=0;
    PIP_INTERFACE_INFO plfTable=NULL;
    IP_ADAPTER_INDEX_MAP AdaptMap;
    DWORD dwBufferSize=0;
    TCHAR szFriendName[256]={0};
    DWORD tchSize=sizeof(TCHAR)*256; ULONG NTEContext = 0;
    ULONG NTEInstance=0;
    IPAddr NewIP;
    IPAddr NewMask;   dwRet=GetInterfaceInfo(NULL,&dwBufferSize); if(dwRet==ERROR_INSUFFICIENT_BUFFER)
    {
    plfTable=(PIP_INTERFACE_INFO)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,dwBufferSize);
    GetInterfaceInfo(plfTable,&dwBufferSize);
    }
    AdaptMap=plfTable->Adapter[0];//i是第几块网卡
    NewIP = inet_addr(_T("192.168.0.188"));
    NewMask = inet_addr(_T("255.255.255.0"));
    dwRet=AddIPAddress(NewIP, NewMask, AdaptMap.Index, &NTEContext, &NTEInstance);
    if(NO_ERROR==dwRet)
    AfxMessageBox(_T("IP 修改成功"));
    HeapFree(GetProcessHeap(),HEAP_ZERO_MEMORY,plfTable);