vc++-windows如何获取当前应用程序使用的网络类型

问题描述

windows如何获取当前应用程序使用的网络类型

请问各位,Windows下如何获取当前应用程序使用的网络类型?是WIFI还是有线网络.
1.目前实在是没找到类似安卓或者IOS那样的直接就可以读取的API。有的话跪求
2.现在所能想到的就是使用GetAdaptersInfo遍历获取到所有的网卡类型和对应的IP地址,
然后根据gethostbyname得到本地地址,用这个本地地址去匹配遍历得到的网卡IP。这样是否会有问题呢(考虑多网卡的情况)

解决方案

windows上面没有直接提供这一类API,这也不是它所需要支持的,一般是自己对各种类型做分析,然后提炼一些特征出来

解决方案二:

https://msdn.microsoft.com/en-us/library/system.net.networkinformation.networkinterfacetype(v=vs.90).aspx
Wireless80211是无线
Ethernet是有线

NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface networkInterface in adapters)
{
Console.WriteLine(networkInterface.NetworkInterfaceType);
}

解决方案三:

判断连接状态:
BOOL bRet = InternetCheckConnection("http://www.ocean-soft.com.cn/", FLAG_ICC_FORCE_CONNECTION, 0);
判断上网类型:
CString str;
DWORD dwFlag;
if(!InternetGetConnectedState(&dwFlag, 0))
{
str = "未连接到网络";
}
else if(dwFlag & INTERNET_CONNECTION_MODEM)
{
str = "上网类型:采用RAS拨号连接上网";
}
else if(dwFlag & INTERNET_CONNECTION_LAN)
{
str = "上网类型:采用网卡通过局域网上网";
}
else if(dwFlag & INTERNET_CONNECTION_PROXY)
{
str = "上网类型:使用代理服务器上网";
}

解决方案四:

你说的这个和IsNetWork类似,但是并不是我需要的,我想找到的是当前使用的网络类型,指使用3G/4G无线网卡,WIFI上网,有线连接这种。类似手机上显示的标志的需求

时间: 2024-10-15 02:20:14

vc++-windows如何获取当前应用程序使用的网络类型的相关文章

PHP获取ip对应地区和使用网络类型的方法

 这篇文章主要介绍了PHP获取ip对应地区和使用网络类型的方法,实例分析了php通过调用ip138数据库获取IP及网络类型的技巧,需要的朋友可以参考下     本文实例讲述了PHP获取ip对应地区和使用网络类型的方法.分享给大家供大家参考.具体分析如下: 这里测试的时候因为ip168网站禁止,所以试着在原有代码上修改为ip138数据库的数据调用,代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <?php //原程序有问题,现修

PHP获取ip对应地区和使用网络类型的方法_php技巧

本文实例讲述了PHP获取ip对应地区和使用网络类型的方法.分享给大家供大家参考.具体分析如下: 这里测试的时候因为ip168网站禁止,所以试着在原有代码上修改为ip138数据库的数据调用,代码如下: <?php //原程序有问题,现修改为ip138数据库 /** * 获取IP地区 * Enter description here ... * @param unknown_type $ip */ function GetArea($ip){ $url = "http://www.ip138.

Windows 8开发入门(十八)windows 8开发模拟器和程序中关联文件类型

本文将讲解两个内容,1.Windows 8 开发模拟器的使用.2.程序中设置关联文件类型. 一. Windows 8 开发模拟器的使用 1.在VS2012中自带有Windows 8开发模拟器,我们选择VS界面中的调试按 钮从"本地计算器"改选为"Simulater"模拟器即可,如下图: 2.点击"Simulator"按钮即可弹出以下界面 3.此时我们可以看到模拟器上面有很多按钮这些按钮的功能有模拟单点触摸.多点触摸.旋转设备等操作 .我们在这里可

java windows api-通过Windows API获取不到java程序的子窗体和界面控件

问题描述 通过Windows API获取不到java程序的子窗体和界面控件 有一个java写的桌面应用程序,我想用C#自动控制这个程序. 我在C#中用Windows API的FindWindow可以找到它的主窗体句柄,但是用FindWindowEx和EnumChildWindows无法找到它的子窗体和控件. 解决方案 java写的程序就不要指望了,swing之类的库,界面都是画上去的,不是windows窗口. 解决方案二: 1.确定控件(子窗口)存在,如果是画上去的没有子窗口. 2.用spy++

关于在windows下部署发布QT程序的总结

关于在windows下部署发布QT程序的总结 文章出处:http://www.diybl.com/course/3_program/c++/cppjs/200869/123842.html 以下包括了部分网上收集的,以及qt帮助里的内容(Deploying an Application on Qt/Windows) 首先,打开windows控制台,然后,找到vs安装目录下的bin里,执行 vcvars32.bat 这个脚本.执行完之后,vs需要的所有环境变量就已经设置好了. 然后,做下面的操作:

使用Python实现跨Windows和Unix平台安装程序的方法

我们在使用类 Unix 系统时,经常会用到一些以".bin"或者".run"结尾的安装程序 (Installer).(为描述方便,这里我们使用"Bin 安装程序"来泛指这种安装程序.)Bin 安装程序不依赖于系统发行版自己的包 (package) 管理器来实现应用程序的安装和卸载,而是完全自己控制安装的整个过程,程序卸载的时候需要用户执行应用程序安装目录下的卸载脚本来完成. Bin 安装程序最大的好处就是可以运行在多种类 Unix 平台,以及基于

java 如何获取某一程序的安装路径

问题描述 各位大侠,我在java编程中遇到如下问题:如何获取某一程序的安装路径例如:我的War3安装在F盘,通过编程扫描磁盘,获取到war3的猪目录路径,怎么弄啊?跪求各位大虾的指点! 解决方案 解决方案二:如果这样是要程序遍历整个磁盘,但问题是这样做很耗时.但普遍的做法是看程序安装时在注册表的信息.解决方案三:如果程序注册到注册表的话读取时一种方法,但需要知道读取时相关信息或者调用windows底层的搜索工程至少不用考虑效率的问题最简单的话也只有遍历了也没什么捷径了解决方案四:引用2楼sosz

createprocess- C语言,怎样实现获取调用其他程序的输入输出?

问题描述 C语言,怎样实现获取调用其他程序的输入输出? 各位,我的目的是获取调用其他程序hello.exe输出的信息.网上查找一下代码,但是实现不了!! 为什么呢? 我选择用LCC-win32为编译器. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <windows.h> int main(int argc,char *argv[]) { SECURITY_ATTRIB

快照-vc++编写查找指定进程的程序

问题描述 vc++编写查找指定进程的程序 百度了几个大同小异的例子 编译后出现了一堆错误 求大神指点 以下是其中一个例子BOOL FindProcessByName(LPCTSTR szFileName, PROCESSENTRY32& pe) { // 采用进程快照枚举进程的方法查找指定名称进程 HANDLE hProcesses; PROCESSENTRY32 lpe = { sizeof(PROCESSENTRY32) }; CString strFileName(szFileName);