vc 获取公网ip adsl pppoe拨号上网能用vc编程获得pppoe适配器上的公网ip地址么?怎么实现? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 无法检测哪个地址是公网IP地址,这不是本机所能识别得,从原理就不可能。只能获得本机IP地址列表char szHostName[256]; hostent *host; in_addr inaddr; //以下用于获取本机IP地址 gethostname(szName,255); host=gethostbyname(szName); if(host) inaddr.s_addr=*((unsigned long*)host->h_addr_list[0]); else ShowMessage("获取本机IP失败!"); 那能不能获得已经连接的pppoe虚拟适配器上的ip地址呢? 你用ipconfig /all看到的IP地址都可以查到应该有办法判断是不是PPPoE网卡的但是我不知道 用IP Helper API获得适配器信息,得到链表头指针,能查到ADSL虚拟网卡的,然后根据网卡描述名判断 MARK,也还在对这个学习中。希望有精彩的答案出来大家学习下. cmd命令行里有tracert 命令不知道编程如何实现 DWORD dwFlags = 0;PIP_ADAPTER_INFO pInfo = NULL;u_long ip;InternetGetConnectedState(&dwFlags, 0); //得到上网状态以及方式GetAdaptersInfo(pInfo, &ulSize);if(dwFlags & INTERNET_CONNECTION_MODEM) { while (pInfo != NULL) { //ppp拨号上网 if(pInfo->Type == MIB_IF_TYPE_PPP) { ip = inet_addr(pInfo->IpAddressList.IpAddress.String); } pInfo = pInfo->Next; } } 对于Pppoe拨号,有一组RAS API来操作,我一般用RasGetConnectStatus来获取IP,RasGetConnectionStatistics(或RasGetLinkStatistics)获取统计信息 VC的DLL问题,帮忙看看,谢谢 paradox 7 怎么访问? 在线等待 VC dll 取时间的问题,大侠帮忙 毕业设计又出问题了。现在心里虚,CSDN的前辈,请各路朋友指点指点!基础问题。 剪贴板监视的问题 如何在VC6中使用QT3..3.2 如何判断程序是否在运行 关于fprintf的问题,为什么这样使用fprintf会出现输出二进制字符的现象? 还是雾之轩领分,呵呵,送满500分 ado 调用MSSQL 存储过程能不能有返回值?? 能获得离屏表面的得出吗 关于网络传输音频的问题
只能获得本机IP地址列表char szHostName[256];
hostent *host;
in_addr inaddr;
//以下用于获取本机IP地址
gethostname(szName,255);
host=gethostbyname(szName);
if(host)
inaddr.s_addr=*((unsigned long*)host->h_addr_list[0]);
else
ShowMessage("获取本机IP失败!");
应该有办法判断是不是PPPoE网卡的
但是我不知道
DWORD dwFlags = 0;
PIP_ADAPTER_INFO pInfo = NULL;
u_long ip;InternetGetConnectedState(&dwFlags, 0); //得到上网状态以及方式
GetAdaptersInfo(pInfo, &ulSize);if(dwFlags & INTERNET_CONNECTION_MODEM) {
while (pInfo != NULL) {
//ppp拨号上网
if(pInfo->Type == MIB_IF_TYPE_PPP) {
ip = inet_addr(pInfo->IpAddressList.IpAddress.String);
}
pInfo = pInfo->Next;
}
}