获取网络连接名称“本地连接”的两种方法



方法一:通过WMI得到连接属性NETCON_PROPERTIES,这个结构体定义如下:

typedef struct tagNETCON_PROPERTIES

{

GUID guidId;

LPWSTR pszwName;

LPWSTR pszwDeviceName;

NETCON_STATUS Status;

NETCON_MEDIATYPE MediaType;

DWORD dwCharacter;

CLSID clsidThisObject;

CLSID clsidUiObject;

} NETCON_PROPERTIES;

pszwName就是“本地连接”的网络连接名称。

给出控制台程序源码:

#include "stdafx.h"

#include

#pragma comment(lib,"Iphlpapi.lib")

#include

#pragma comment(lib,"Rpcrt4.lib")//GUID

#include //启用、禁用网卡

#pragma comment(lib,"ole32.lib")

#include

int main(int argc, char* argv[])

{

INetConnectionManager *pManager;

INetConnection *pConnection;

IEnumNetConnection *pEnum;

ULONG           celtFetched;

CoInitialize(NULL);

CoCreateInstance(CLSID_ConnectionManager,   NULL,   CLSCTX_SERVER,   IID_INetConnectionManager,   (void**)&pManager);

pManager->EnumConnections(NCME_DEFAULT,   &pEnum);

pManager->Release();

while(   pEnum->Next(1,   &pConnection,   &celtFetched)   ==   S_OK   )

{

NETCON_PROPERTIES*   properties;

pConnection->GetProperties(&properties);

DWORD dwNum = WideCharToMultiByte(CP_OEMCP,NULL,properties->pszwName,-1,NULL,0,NULL,FALSE);

char *psText;

psText = new char[dwNum];

if(!psText)

{

delete []psText;

}

WideCharToMultiByte (CP_OEMCP,NULL,properties->pszwName,-1,psText,dwNum,NULL,FALSE);

printf(psText);

printf("\r\n");

delete []psText;

}

return 0;

}

方法二:通过注册表读取,路径如下:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}

在这个键下面每一个网卡对应有一个子键Connection,再下一级就有一个Name的键值就是网络连接名称了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-10 08:50:14

获取网络连接名称“本地连接”的两种方法的相关文章

iOS获取视频中的指定帧的两种方法

方法一 :AVFoundation 1 #import <AVFoundation/AVFoundation.h> 2 3 - (UIImage *)thumbnailImageForVideo:(NSURL *)videoURL atTime:(NSTimeInterval)time { 4 AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:videoURL options:nil]; 5 NSParameterAssert(asset)

Java获取用键盘输入常用的的两种方法

方法1:通过 Scanner Scanner input = new Scanner(System.in); String s = input.nextLine(); input.close(); 方法2:通过 BufferedReader BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); String s = input.readLine(); 原文地址:https://www.cnblog

[MongoDB学习笔记-02] Node.js连接MongoDB的两种方法

MongoDB Node.js驱动程序是被官方所支持的原生Node.js驱动程序,他是至今为止最好的实现, 并且得到了MongoDB官方的支持.MongoDB团队已经采用MongoDB Node.js驱动程序作为标准方法. npm install mongodb@1.4.3 // MongoDB Node.js驱动程序 npm install mongoose@3.8.8 //mongoose模块 要从Node.js连接MongoDB数据库我们有两种方法可选择: 通过实例化mongodb模块中提

GitHub常用上传文件的两种方法 附带常见的问题及Git安装教程

从早上下课到现在一直在琢磨如何给Gethub下载本地文件,中午饭都没吃.还好是解决了,感觉挺有成就感的.O(∩_∩)O哈哈~ 好哒 闲话不说,说重点. 一.git的安装 百度云:http://pan.baidu.com/s/1mhFy8Ik 打开后 点next 2.继续点next 3.继续点next 4.选第一行是默认windows使用 选第二行是Windows和Linux都可以 点next 5.可以不用管,选择默认就可以了 点next 6.安装成功后弹出 7 这时候你找到你的git文件夹,点击

Android第五期 - 更新自己的apk本地与网络两种方法

首先是本地: ParseXmlService部分: package com.szy.update; import java.io.InputStream; import java.util.HashMap; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element

ASP 连接 MySQL 数据库两种方法

一般都是用myodbc来连接.首先,在系统中安装 Mysql 的ODBC数据库驱动.如安装稳定版本是3.51.下载地址是:http://dev.mysql.com/downloads/connector/odbc/3.51.html. 下载安装好后.在控制面板-->管理工具-->数据源 (ODBC)中的“驱动程序”页中如果有MySQL ODBC 3.51 Driver就说明驱动已经安装成功,就可以开始写程序了. 下面是我测试时使用的程序,里面有说明就不再介绍了. 方法一: <% '设置M

两种方法连接MySql数据库

1.用MySQLDriverCS连接MySQL数据库 先下载和安装MySQLDriverCS,在安装文件夹下面找到MySQLDriver.dll,然后将MySQLDriver.dll添加引用到项目中. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.Odbc; using System.Drawing; using S

C++连接mysql数据库的两种方法

现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用access和sql server比较多.通过网上的一些资料和自己的摸索,大致清楚了C++连接mysql的方法.可以通过2种方法实现. 第一种方法是利用ADO连接, 第二种方法是利用mysql自己的api函数进行连接. 第一种方法可以实现我当前的需求,通过连接不同的字符串来连接不同的数据库.暂时只连接了mysql,sqlserver,oracle,access.对于access,因为它创建表的

javascript获取json对象的key名称的两种方法

javascript获取json对象的key名称的两种方法 数据处理中,你可能接收到一个不确定内容格式的json对象,然后要把key的值提取出来.今天试过两种可以提取json key的方法,均可以正常工作. 先看第一种方法 jsonObj = { Name: 'richard', Value: '8' }for (key in jsonObj){ console.log(key); //add your statement to get key value} 结果 NameValue 第二种方法