寻找正在连接中的网络连接
2017-07-25 19:34
225 查看
寻找正在连接中的网络连接,并开启网络连接的网络连接共享功能。
注意:要设置为管理员权限启动project。
否则EnableSharing会失败。
寻找正在连接中的网络连接,并开启网络连接的网络连接共享功能。
注意:要设置为管理员权限启动project。
否则EnableSharing会失败。
#include <Windows.h> #include <NetCon.h> #include <locale> #include <stdio.h> #pragma comment(lib,"Iphlpapi.lib") #pragma comment(lib,"Rpcrt4.lib")//GUID //启用、禁用网卡 #pragma comment(lib,"ole32.lib") int main(int argc, char* argv[]) { INetConnectionManager *pManager=NULL; INetConnection *pConnection=NULL; IEnumNetConnection *pEnum=NULL; ULONG celtFetched; INetSharingManager *pNetSharingManager=NULL; INetConnectionProps *pProps=NULL; INetSharingConfiguration *pConfiguration=NULL; NETCON_PROPERTIES* properties=NULL; NETCON_MEDIATYPE mediatype; setlocale(LC_CTYPE, ""); CoInitialize(NULL); CoCreateInstance(CLSID_ConnectionManager, NULL, CLSCTX_SERVER, IID_INetConnectionManager, (void**)&pManager); if(pManager == NULL) { printf("获取接受失败,Error:%d\n",GetLastError()); return 0; } pManager->EnumConnections(NCME_DEFAULT, &pEnum); while( pEnum->Next(1, &pConnection, &celtFetched) == S_OK ) { pConnection->GetProperties(&properties); if(properties->Status == NCS_CONNECTED) { if(properties->dwCharacter & NCCF_INCOMING_ONLY == 1) { wprintf(L"\"%S\"正处于连接状态,可是此连接无法共享。确保至少有2个网络连接。\n",properties->pszwName); break; } CoCreateInstance(CLSID_NetSharingManager, NULL, CLSCTX_SERVER, IID_INetSharingManager, (void**)&pNetSharingManager); if(pNetSharingManager == NULL) { printf("获取接受失败,Error:%d\n",GetLastError()); break; } wprintf(L"发现\"%s\"正处于连接状态。尝试开启共享...\n",properties->pszwName); if(properties->MediaType >= NCM_DIRECT && properties->MediaType <=NCM_PPPOE) { pNetSharingManager->get_INetSharingConfigurationForINetConnection(pConnection, &pConfiguration); if(pConfiguration && SUCCEEDED(pConfiguration->EnableSharing(ICSSHARINGTYPE_PUBLIC))) { wprintf(L"成功设置\"%s\"为共享状态!\n",properties->pszwName); break; } } wprintf(L"设置\"%s\"共享状态失败!Error:%d\n",properties->pszwName,GetLastError()); } } if(pManager) pManager->Release(); if(pConnection) pConnection->Release(); if(pEnum) pEnum->Release(); if(pNetSharingManager) pNetSharingManager->Release(); if(pConfiguration) pConfiguration->Release(); CoUninitialize(); return 0; }
相关文章推荐
- 寻找正在连接中的网络连接
- 寻找正在连接中的网络连接,并开启网络连接的网络连接共享功能
- 寻找正在连接中的网络连接
- 原来无线可用,重装机子后,无线网络连接一直提示正在获取IP!
- windowsXP系统网络出现“正在连接”问题的解决方法
- 每个App都会用到的LoadingLayout(加载中、正在加载、无网络连接等......)
- 【xinfanqie】解决网络出现“正在连接”的问题
- android7 恢复出厂设置后一直正在检查网络连接开不了机
- 每个App都会用到的LoadingLayout(加载中、正在加载、无网络连接等......)
- 三星NOTE7,N9300,N930F,N930FD解谷歌锁 正在检查网络连接FRP ON方法
- 无线网络连接一直显示“正在获取网络地址”的解决办法
- DNS配置注意事项 正在连接网络
- 无线网络连接一直显示“正在获取网络地址”
- 解决Macbook网络连接成功但是图标一直显示正在查找网络问题
- 网络共享别人的打印机,能连接,但出现未能打开,正在重试
- VMware网络连接 桥接、NAt、host-only模式