在win2000中有一个ipconfig.exe的程序,谁有类似该程序的源文件?

qqfqqf 2003-04-29 03:04:09
在win2000中有一个ipconfig.exe的程序,谁有类似该程序的源文件?
...全文
71 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Keng 2003-05-03
  • 打赏
  • 举报
回复
兄弟..他们写的代码用的是套接口建议看看相关书籍..这个程序是基础.
meCAD 2003-05-02
  • 打赏
  • 举报
回复
char *IPAddr;
char name[65];
struct hostent *ph;
struct WSAData Data;

if (!WSAStartup(0x101,&Data)) {
memset(name, 0, sizeof(name));
gethostname(name, sizeof(name));
ph = gethostbyname(name);
if (ph != NULL) {
in_addr* addr = (in_addr*)ph->h_addr;
IPAddr = inet_ntoa(addr[0]); //返回 IP 地址
if (IPAddr != NULL)
MessageBox(0, IPAddr, "IP1", MB_OK);
IPAddr = inet_ntoa(addr[1]); //第2块网卡的IP地址
if (IPAddr != NULL)
MessageBox(0, IPAddr, "IP2", MB_OK);
}
WSACleanup();
}
季老大的代码
qqfqqf 2003-05-02
  • 打赏
  • 举报
回复

----------------------------------------------------------------
联接时出错,提示如下:
unresolved external 'GetNetworkParams' referenced from d:\\project\dns\dns.obj
unresolved external 'GetAdaptersinfo' referenced from d:\\project\dns\dns.obj
如何把iphlpapi.lib加到工程里去。
kataboy 2003-04-30
  • 打赏
  • 举报
回复
gz
NowCan 2003-04-29
  • 打赏
  • 举报
回复
没有完全一样的。不过你可以看看这个。
DWORD Network_Test(FILE *fp, BOOL IsNT)
{
FIXED_INFO *FixedInfo;
IP_ADAPTER_INFO *AdapterInfo, *NextAdapterInfo;
IP_ADDR_STRING *pIPAddr;
DWORD dwRetVal;
ULONG ulOutBufLen;
char *NodeType;

fprintf(fp, "-----Network Information-----\n");
FixedInfo= (FIXED_INFO *)GlobalAlloc(GPTR, sizeof(FIXED_INFO));
ulOutBufLen=sizeof(FIXED_INFO);

if(ERROR_BUFFER_OVERFLOW == GetNetworkParams(FixedInfo, &ulOutBufLen))
{
GlobalFree(FixedInfo);
FixedInfo= (FIXED_INFO *)GlobalAlloc(GPTR, ulOutBufLen);
}

if((dwRetVal=GetNetworkParams(FixedInfo, &ulOutBufLen)) != ERROR_SUCCESS)
{
fprintf(fp, "Call to GetNetworkParams failed. Return Value: %08x\n", dwRetVal);
}
else
{
switch(FixedInfo->NodeType)
{
case BROADCAST_NODETYPE: NodeType="Broadcase Node"; break;
case PEER_TO_PEER_NODETYPE: NodeType="Peer to Peer Node"; break;
case MIXED_NODETYPE: NodeType="Mixed Node"; break;
case HYBRID_NODETYPE: NodeType="Hybrid Node"; break;
default: NodeType="Unknown Node"; break;
}

fprintf(fp, "Host Name.......:%s\n", FixedInfo->HostName);
fprintf(fp, "Domain Name.....:%s\n", FixedInfo->DomainName);
fprintf(fp, "Node type.......:%d - %s\n", FixedInfo->NodeType, NodeType);
fprintf(fp, "Enable Routing..:%s\n", (FixedInfo->EnableRouting != 0) ? "Yes" : "No");
fprintf(fp, "Enable Proxy....:%s\n", (FixedInfo->EnableProxy != 0) ? "Yes" : "No");
fprintf(fp, "Enable DNS......:%s\n", (FixedInfo->EnableDns != 0) ? "Yes" : "No");
fprintf(fp, "DNS Servers:\n");
fprintf(fp, "\t%s\n", FixedInfo->DnsServerList.IpAddress.String);

pIPAddr=FixedInfo->DnsServerList.Next;
while(pIPAddr)
{
fprintf(fp, "\t%s\n", pIPAddr->IpAddress.String);
pIPAddr=pIPAddr->Next;
}
}

GlobalFree(FixedInfo);
fprintf(fp,"\n");

AdapterInfo= (IP_ADAPTER_INFO *)GlobalAlloc(GPTR, sizeof(IP_ADAPTER_INFO));
ulOutBufLen=sizeof(IP_ADAPTER_INFO);

if(ERROR_BUFFER_OVERFLOW == GetAdaptersInfo(AdapterInfo, &ulOutBufLen))
{
GlobalFree(AdapterInfo);
AdapterInfo= (IP_ADAPTER_INFO *)GlobalAlloc(GPTR, ulOutBufLen);
}

if((dwRetVal=GetAdaptersInfo(AdapterInfo, &ulOutBufLen)) != ERROR_SUCCESS)
{
fprintf(fp, "Call to GetNetworkParams failed. Return Value: %08x\n", dwRetVal);
}
else
{
NextAdapterInfo=AdapterInfo;
while(NextAdapterInfo)
{
fprintf(fp, "------------Adapter %d--------------\n", NextAdapterInfo->Index);
fprintf(fp, "Adapter Name..............:%s\n", NextAdapterInfo->AdapterName);
fprintf(fp, "Adapter description.......:%s\n", NextAdapterInfo->Description);
fprintf(fp, "DHCP enabled..............:%s\n", NextAdapterInfo->DhcpEnabled ? "Yes" : "No");
fprintf(fp, "Current IP................:%s\n", NextAdapterInfo->IpAddressList.IpAddress.String);
fprintf(fp, "Subnet mask...............:%s\n", NextAdapterInfo->IpAddressList.IpMask.String);
pIPAddr=NextAdapterInfo->IpAddressList.Next;
while(pIPAddr)
{
fprintf(fp, "\t IP: %s\n", pIPAddr->IpAddress.String);
fprintf(fp, "\t Mask: %s\n", pIPAddr->IpMask.String);
pIPAddr=pIPAddr->Next;
}
fprintf(fp, "Default gateway...........:%s\n", NextAdapterInfo->GatewayList.IpAddress.String);
fprintf(fp, "DHCP server...............:%s\n", NextAdapterInfo->DhcpServer.IpAddress.String);
fprintf(fp, "Use WINS..................:%s\n", NextAdapterInfo->HaveWins?"Yes":"No");
fprintf(fp, "Primary WINS server.......:%s\n", NextAdapterInfo->PrimaryWinsServer.IpAddress.String);
fprintf(fp, "Secondary WINS server.....:%s\n", NextAdapterInfo->SecondaryWinsServer.IpAddress.String);

NextAdapterInfo=NextAdapterInfo->Next;
}
}

GlobalFree(AdapterInfo);

return 0;
}

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧