谁知道AddIPAddress怎么用的? 谁知道AddIPAddress怎么用的?msdn看过了,不怎么明白。知道的贴段用它添加IP地址的代码,可以吗? 谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 INFO: AddIPAddress and DeleteIPAddress in IP Helper APIs (Q199749)http://support.microsoft.com/default.aspx?scid=kb;EN-US;q199749 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;} 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); 求助:需解决的几个问题 STG文件拒绝访问~? 求救SDI多视图退出时进程还在 打开空文档失败??? 天哪,竟然还有这种难以理解的怪事! 关于图象打印 困惑:HWND GetFocus() 和 HWND GetActiveWindow()有什么差别? 如何能反编译一个用VC做的DLL成VC的源文件, 哪位高手能帮我解释一下宏?我不太明白耶! sengMessage在发送不同消息时,wparam,lparam是如何定义的,这些信息从那获得呢? 请问与字母‘W’对应的数字是从哪里来的? vc中最基本的问题,希望得到解答!
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q199749
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;
}
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);