您的位置:首页 > 其它

VC中通过查询注册表判断是否无线网卡

2012-12-28 14:07 218 查看
设备的一些信息存储在注册表里,可以通过查询注册表,得到设备的一些信息。

关键:查询,HKEY_LOCAL_MACHINE//System//CurrentControlSet//Control//Network//{4D36E972-E325-11CE-BFC1-08002BE10318}下的MediaSubType的值来进行判断,为1则是PCI网卡,为2则是无线网卡。

用到的函数:无非就是一些查询注册表的函数了

RegOpenKeyEx:该函数负责打开指定的键或子键,如果不存在他不建立,成功返回ERROR_SUCCESS

RegCloseKey:关闭指定的主册表键,释放句柄,成功返回ERROR_SUCCESS

RegCreateKeyEx:打开指定的键或子键。如果要打开的键不存在的话,本函数会试图建立它。当在创建或打开注册表的键时,需要指定访问权限,函数成功返回ERROR_SUCCESS

RegDeleteKey:该函数用来删除注册表中的一个键值的,成功返回ERROR_SUCCESS

RegQueryValueEx:读取某子键下特定名称的值,成功返回ERROR_SUCCESS

RegSetValueEx:设置某子键下特定名称的值,成功返回ERROR_SUCCESS

RegEnumKeyEx:列出某Key的所有名称的值,变化索引即可遍历整个键下的名称和数据,成功返回ERROR_SUCCESS

RegQueryInfoKey:返回注册表键的信息,包括类名、子键数量、最长子键名、值的数量、最长值数据、安全描述

符的长度以及上一次写入的时间等,成功返回ERROR_SUCCESS

RegLoadKey:从指定的文件恢复注册表键的子键信息到注册表,成功返回ERROR_SUCCESS

RegReplaceKey:从指定的文件恢复注册表键的子键信息到注册表并替换原有的值,并生成新的备份文件,成功返回ERROR_SUCCESS

RegSaveKey:保存键及其子键信息到指定的文件,成功返回ERROR_SUCCESS

RegConnectRegistry:连接到远程系统的注册表,成功返回ERROR_SUCCESS

RegUnloadKey:删除注册表键及其所有的子键,成功返回ERROR_SUCCESS

在判断到存在无线网卡后,查询它的GUID(全局统一标识符),也就是设备真实的名字,

HKEY_LOCAL_MACHINE//SYSTEM//CurrentControlSet//Control//Class{4D36E972-E325-11CE-BFC1-08002BE10318}/下相对应的CLASS项目然后再得到键NetCfgInstanceId 的值,即GUID,然后可以使用CreateFile打开这个设备,获得这个设备的句柄,从而进行相应的操作。

本文章在:http://blog.csdn.net/liaoming321/article/details/4594679基础上完善了注册表操作的说明!

此文章来自于【http://hi.baidu.com/zhaozhong1989/item/5fb6c203507d34c92e4c6b94
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: