请问如何用VC设置本机的IP地址?

foundnet 2003-03-17 10:53:11
rt 用什么函数?
...全文
373 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
c0der 2003-07-17
装了vc6没有SDK,要单独安装。
装了VC7(完整安装),就应该有了
回复
foundnet 2003-05-10
装了VC还没有platform sdk么
回复
kingzai 2003-03-21
if you want to use iphlpapi,you should download platform sdk from microsoft,you can download at
http://www.madwizard.org/view.php?page=downloads
回复
zfr 2003-03-21
setlocalhost?

大头,没有这个函数吧
回复
Free_Man 2003-03-21
是啊,文件iphlpapi.h好象不是VC的吧
回复
foundnet 2003-03-21
我在MSDN里查到了IP助手函数的帮助
可是为什么找不到iphlpapi.h?
回复
功名半纸 2003-03-19
#include <windows.h>
#include <stdio.h>
#include <iphlpapi.h>

void Usage(void) {
printf("Usage: Ipchange [ -l ] [ -a -n<index id> -i<ip address> -m<subnet mask> ] "
"[ -d -c<context id>]\n\n"
"\t -l List adapter index IDs and IP Address context ID information\n"
"\t -a Add IP Address option\n"
"\t -d Delete IP Address option\n"
"\t -i IP Address to specify with -a option\n"
"\t -m Subnet Mask to specify with -a option\n"
"\t -c IP context ID for an existing IP address\n"
"\t -n Index ID of an existing network adapter\n");
}

void main(int argc, char *argv[]) {
ULONG NTEContext = 0;
ULONG NTEInstance;
IPAddr NewIP;
IPAddr NewMask;
DWORD Index;
DWORD Context;
CHAR NewIPStr[64];
CHAR NewMaskStr[64];

PIP_ADAPTER_INFO pAdapterInfo, pAdapt;
PIP_ADDR_STRING pAddrStr;
DWORD AdapterInfoSize;
DWORD Err;
BOOL OptList = FALSE;
BOOL OptAdd = FALSE;
BOOL OptDel = FALSE;

NewIPStr[0] = '\0';
NewMaskStr[0] = '\0';
Context = Index = (DWORD)-1;
for (int i = 1; i < argc; i++)
{
if ((argv[i][0] == '-') || (argv[i][0] == '/'))
{
switch(tolower(argv[i][1]))
{
case 'l':
OptList = TRUE;
break;
case 'a':
OptAdd = TRUE;
break;
case 'c':
if (strlen(argv[i]) > 2)
Context = atoi(&argv[i][2]);
break;
case 'd':
OptDel = TRUE;
break;
case 'i':
if (strlen(argv[i]) > 2)
strcpy(NewIPStr, &argv[i][2]);
break;
case 'm':
if (strlen(argv[i]) > 2)
strcpy(NewMaskStr, &argv[i][2]);
break;
case 'n':
if (strlen(argv[i]) > 2)
Index = atoi(&argv[i][2]);
break;
default:
printf("default\n");
Usage();
return;
}
}
else
{
printf("else\n");
Usage();
return;
}
}

// Check options
if ((OptAdd && (Index == -1 || NewIPStr[0] == '\0' || NewMaskStr[0] == '\0'))
|| (OptDel && Context == -1))
{
Usage();
return;
}

// Get sizing information about all adapters
AdapterInfoSize = 0;
if ((Err = GetAdaptersInfo(NULL, &AdapterInfoSize)) != 0)
{
if (Err != ERROR_BUFFER_OVERFLOW)
{
printf("GetAdaptersInfo sizing failed with error %d\n", Err);
return;
}
}

// Allocate memory from sizing information
if ((pAdapterInfo = (PIP_ADAPTER_INFO) GlobalAlloc(GPTR, AdapterInfoSize)) == NULL)
{
printf("Memory allocation error\n");
return;
}

// Get actual adapter information
if ((Err = GetAdaptersInfo(pAdapterInfo, &AdapterInfoSize)) != 0)
{
printf("GetAdaptersInfo failed with error %d\n", Err);
return;
}

if (OptList)
{
printf("MAC Address - Adapter\n"
"Index Context Ip Address Subnet Mask\n"
"--------------------------------------------------------------\n");

pAdapt = pAdapterInfo;

while (pAdapt)
{
for (UINT i=0; i<pAdapt->AddressLength; i++)
{
if (i == (pAdapt->AddressLength - 1))
printf("%.2X - ",(int)pAdapt->Address[i]);
else
printf("%.2X-",(int)pAdapt->Address[i]);
}
printf("%s\n", pAdapt->Description);

pAddrStr = &(pAdapt->IpAddressList);
while(pAddrStr)
{
printf("%-10.d%-10.d%-20.20s%s\n", pAdapt->Index, pAddrStr->Context, pAddrStr->IpAddress.String, pAddrStr->IpMask.String);
pAddrStr = pAddrStr->Next;
}

pAdapt = pAdapt->Next;
}
}

if (OptAdd)
{
NewIP = inet_addr(NewIPStr);
NewMask = inet_addr(NewMaskStr);
if ((Err = AddIPAddress(NewIP, NewMask, Index, &NTEContext, &NTEInstance)) != 0)
{
printf("AddIPAddress failed with error %d, %d\n", NTEContext, Err);
return;
}
}

if (OptDel)
{
if ((Err = DeleteIPAddress(Context)) != 0)
printf("DeleteIPAddress failed %d\n", Err);
}
}
回复
setlocalhost
回复
wqbmercury 2003-03-18
gz
回复
foundnet 2003-03-18
求教
回复
lwugui 2003-03-17
IP助手函数
回复
ray428 2003-03-17
有办法设置吗?
如果你的IP是动态分配的话,那就没办法设置了。
但听说好像有软件可以把你的IP定在外面的IP上,这样就可以固定了
回复
foundnet 2003-03-17
不是动态的
是人工分配的IP,如何在我的界面上设置呢

楼上的,什么是IP助手函数?怎么用?
谢了!
回复
发帖
网络编程
创建于2007-09-28

1.8w+

社区成员

VC/MFC 网络编程
申请成为版主
帖子事件
创建了帖子
2003-03-17 10:53
社区公告
暂无公告