关于本机网卡编程的几个问题?

tx183584 2012-01-01 09:54:04
如下,如何获取适配器的名字,比如 "宽带连接"这个名字

怎么用代码设置Internet连接共享,自己设置连接共享的网络,比如"WIFI"

...全文
136 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
y319520614 2012-05-10
  • 打赏
  • 举报
回复
楼主,求帮助。QQ:454211569.万分感谢
tx183584 2012-01-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 gameslq 的回复:]

引用 4 楼 tx183584 的回复:
1.2楼的都不能解决问题,不过,我已经找到办法了

怎么解决的?
[/Quote]
ICS
gameslq 2012-01-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tx183584 的回复:]
1.2楼的都不能解决问题,不过,我已经找到办法了
[/Quote]
怎么解决的?
tx183584 2012-01-02
  • 打赏
  • 举报
回复
1.2楼的都不能解决问题,不过,我已经找到办法了
Eleven 2012-01-01
  • 打赏
  • 举报
回复

#include <winsock2.h>
#include <iphlpapi.h>
#include <stdio.h>
#include <stdlib.h>

#define MALLOC(x) HeapAlloc(GetProcessHeap(), 0, (x))
#define FREE(x) HeapFree(GetProcessHeap(), 0, (x))
/* Note: could also use malloc() and free() */

int __cdecl main()
{

/* Declare and initialize variables */

// It is possible for an adapter to have multiple
// IPv4 addresses, gateways, and secondary WINS servers
// assigned to the adapter.
//
// Note that this sample code only prints out the
// first entry for the IP address/mask, and gateway, and
// the primary and secondary WINS server for each adapter.

PIP_ADAPTER_INFO pAdapterInfo;
PIP_ADAPTER_INFO pAdapter = NULL;
DWORD dwRetVal = 0;
UINT i;

/* variables used to print DHCP time info */
struct tm newtime;
char buffer[32];
errno_t error;

ULONG ulOutBufLen = sizeof (IP_ADAPTER_INFO);
pAdapterInfo = (IP_ADAPTER_INFO *) MALLOC(sizeof (IP_ADAPTER_INFO));
if (pAdapterInfo == NULL) {
printf("Error allocating memory needed to call GetAdaptersinfo\n");
return 1;
}
// Make an initial call to GetAdaptersInfo to get
// the necessary size into the ulOutBufLen variable
if (GetAdaptersInfo(pAdapterInfo, &ulOutBufLen) == ERROR_BUFFER_OVERFLOW) {
FREE(pAdapterInfo);
pAdapterInfo = (IP_ADAPTER_INFO *) MALLOC(ulOutBufLen);
if (pAdapterInfo == NULL) {
printf("Error allocating memory needed to call GetAdaptersinfo\n");
return 1;
}
}

if ((dwRetVal = GetAdaptersInfo(pAdapterInfo, &ulOutBufLen)) == NO_ERROR) {
pAdapter = pAdapterInfo;
while (pAdapter) {
printf("\tComboIndex: \t5d\n", pAdapter->ComboIndex);
printf("\tAdapter Name: \t%s\n", pAdapter->AdapterName);
printf("\tAdapter Desc: \t%s\n", pAdapter->Description);
printf("\tAdapter Addr: \t");
for (i = 0; i < pAdapter->AddressLength; i++) {
if (i == (pAdapter->AddressLength - 1))
printf("%.2X\n", (int) pAdapter->Address[i]);
else
printf("%.2X-", (int) pAdapter->Address[i]);
}
printf("\tIndex: \t%d\n", pAdapter->Index);
printf("\tType: \t");
switch (pAdapter->Type) {
case MIB_IF_TYPE_OTHER:
printf("Other\n");
break;
case MIB_IF_TYPE_ETHERNET:
printf("Ethernet\n");
break;
case MIB_IF_TYPE_TOKENRING:
printf("Token Ring\n");
break;
case MIB_IF_TYPE_FDDI:
printf("FDDI\n");
break;
case MIB_IF_TYPE_PPP:
printf("PPP\n");
break;
case MIB_IF_TYPE_LOOPBACK:
printf("Lookback\n");
break;
case MIB_IF_TYPE_SLIP:
printf("Slip\n");
break;
default:
printf("Unknown type %ld\n", pAdapter->Type);
break;
}

printf("\tIP Address: \t%s\n",
pAdapter->IpAddressList.IpAddress.String);
printf("\tIP Mask: \t%s\n", pAdapter->IpAddressList.IpMask.String);

printf("\tGateway: \t%s\n", pAdapter->GatewayList.IpAddress.String);
printf("\t***\n");

if (pAdapter->DhcpEnabled) {
printf("\tDHCP Enabled: Yes\n");
printf("\t DHCP Server: \t%s\n",
pAdapter->DhcpServer.IpAddress.String);

printf("\t Lease Obtained: ");
/* Display local time */
error = _localtime32_s(&newtime, &pAdapter->LeaseObtained);
if (error)
printf("Invalid Argument to _localtime32_s\n");
else {
// Convert to an ASCII representation
error = asctime_s(buffer, 32, &newtime);
if (error)
printf("Invalid Argument to asctime_s\n");
else
/* asctime_s returns the string terminated by \n\0 */
printf("%s", buffer);
}

printf("\t Lease Expires: ");
error = _localtime32_s(&newtime, &pAdapter->LeaseExpires);
if (error)
printf("Invalid Argument to _localtime32_s\n");
else {
// Convert to an ASCII representation
error = asctime_s(buffer, 32, &newtime);
if (error)
printf("Invalid Argument to asctime_s\n");
else
/* asctime_s returns the string terminated by \n\0 */
printf("%s", buffer);
}
} else
printf("\tDHCP Enabled: No\n");

if (pAdapter->HaveWins) {
printf("\tHave Wins: Yes\n");
printf("\t Primary Wins Server: %s\n",
pAdapter->PrimaryWinsServer.IpAddress.String);
printf("\t Secondary Wins Server: %s\n",
pAdapter->SecondaryWinsServer.IpAddress.String);
} else
printf("\tHave Wins: No\n");
pAdapter = pAdapter->Next;
printf("\n");
}
} else {
printf("GetAdaptersInfo failed with error: %d\n", dwRetVal);

}
if (pAdapterInfo)
FREE(pAdapterInfo);

return 0;
}
Gloveing 2012-01-01
  • 打赏
  • 举报
回复
#include "winsock.h" 
#include <stdio.h>
#include <iphlpapi.h>
#pragma comment(lib,"iphlpapi.lib")
void main()
{
IP_ADAPTER_INFO Interface[20];
PIP_ADAPTER_INFO NetInterface = NULL;
DWORD Result = 0;
unsigned long Length = sizeof(Interface);
Result = GetAdaptersInfo(Interface, &Length);
if (Result != NO_ERROR)
{
printf("GetAdaptersInfo failed error.\n");
}
else
{
NetInterface = Interface;
while (NetInterface)
{
static int number;
number++;
printf("第%d个网络接口信息:\n", number);
printf("名称:%s\n", NetInterface->AdapterName);
printf("信息:%s\n", NetInterface->Description);
printf("地址:%ld\n", NetInterface->Address);
printf("MAC地址:%02X:%02X:%02X:%02X:%02X:%02X\n", NetInterface->Address[0], NetInterface->Address[1], NetInterface->Address[2], NetInterface->Address[3], NetInterface->Address[4], NetInterface->Address[5]);
printf("IP地址:%s\n", NetInterface->IpAddressList.IpAddress.String);
printf("IP地址掩码:%s\n", NetInterface->IpAddressList.IpMask.String);
printf("网关:%s\n", NetInterface->GatewayList.IpAddress.String);
if (NetInterface->DhcpEnabled)
{
printf("DHCP配置:\n");
printf("服务器:%s\n", NetInterface->DhcpServer.IpAddress.String);
printf("租用:%ld\n", NetInterface->LeaseObtained);
}
else
printf("无DHCP配置\n");
if (NetInterface->HaveWins)
{
printf("Wins配置:\n");
printf("主Wins服务器:%s\n", NetInterface->PrimaryWinsServer.IpAddress.String);
printf("次Wins服务器:%s\n", NetInterface->SecondaryWinsServer.IpAddress.String);
}
else
printf("无服务器配置\n");
NetInterface = NetInterface->Next;
}
}
}

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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