C#:通过Window API接口实现WiFi
1、获取Mac地址
//WiFi通知回调
private WlanApi.WLAN_NOTIFICATION_CALLBACK _notificationCallback; this._notificationCallback = new WlanApi.WLAN_NOTIFICATION_CALLBACK(this.OnNotification);
WLAN_NOTIFICATION_SOURCE notifSource;
WiFiApiUtils.Throw_On_Win32_Error(WlanApi.WlanRegisterNotification(this._WlanHandle, WLAN_NOTIFICATION_SOURCE.All, true, this._notificationCallback, IntPtr.Zero, IntPtr.Zero, out notifSource)); protected void OnNotification(ref WLAN_NOTIFICATION_DATA notifData, IntPtr context)
{
switch (notifData.notificationCode)
{
case (int)WLAN_HOSTED_NETWORK_NOTIFICATION_CODE.wlan_hosted_network_state_change: //网络状态改变时
break; case (int)WLAN_HOSTED_NETWORK_NOTIFICATION_CODE.wlan_hosted_network_peer_state_change: //客户端接入或退出WiFi时,记录或删除该客户端的mac地址等信息 if (notifData.dataSize > && notifData.dataPtr != IntPtr.Zero)
{
WLAN_HOSTED_NETWORK_DATA_PEER_STATE_CHANGE pPeerStateChange = (WLAN_HOSTED_NETWORK_DATA_PEER_STATE_CHANGE)Marshal.PtrToStructure(notifData.dataPtr, typeof(WLAN_HOSTED_NETWORK_DATA_PEER_STATE_CHANGE)); if (pPeerStateChange.NewState.PeerAuthState == WLAN_HOSTED_NETWORK_PEER_AUTH_STATE.wlan_hosted_network_peer_state_authenticated)
{
// Station joined the hosted network
this.onJoinWiFi(pPeerStateChange.NewState);
}
else if (pPeerStateChange.NewState.PeerAuthState == WLAN_HOSTED_NETWORK_PEER_AUTH_STATE.wlan_hosted_network_peer_state_invalid)
{
// Station left the hosted network
this.onLeaveWiFi(pPeerStateChange.NewState);
}
else
{
// Authentication state changed
}
} break;
} }
参考网址:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms706556%28v=vs.85%29.aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/dd439495(v=vs.85).aspx
https://code.yhzm.me/shenchao/test_shen
http://start.firefoxchina.cn/
http://blog.csdn.net/lincyang/article/details/34430939
https://msdn.microsoft.com/en-us/library/windows/desktop/ms706556(v=vs.85).aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/ms706749(v=vs.85).aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/aa816369(v=vs.85).aspx
http://xjchilli.blog.163.com/blog/static/4534773920120161126917/
http://managedwifi.codeplex.com/discussions/12073
http://managedwifi.codeplex.com/
http://www.codeproject.com/Articles/35329/How-to-access-wireless-network-parameters-using-na
https://social.msdn.microsoft.com/search/en-us/windows?query=WiFi&Refinement=183
http://cn.bing.com/search?q=c%23+wifi+api&FORM=QSRE2
http://blog.csdn.net/hgy413/article/details/20784277
http://stackoverflow.com/questions/25808620/c-sharp-connect-to-wifi-network-with-managed-wifi-api
http://managedwifi.codeplex.com/SourceControl/changeset/view/41381#WlanApi.cs
https://msdn.microsoft.com/en-us/library/windows/desktop/ms706771(v=vs.85).aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/aa816369%28v=vs.85%29.aspx
https://msdn.microsoft.com/en-us/library/ms706771(v=VS.85).aspx
http://pietschsoft.com/archive#cat-C
http://www.baidu.com/baidu?wd=WlanHostedNetworkForceStart&tn=monline_dg
http://wenku.baidu.com/view/bee10913866fb84ae45c8d9c.html
http://wenku.baidu.com/view/5317412ecf84b9d528ea7a70.html
另附git参考:
http://www.ruanyifeng.com/blog/2015/08/git-use-process.html
http://www.ruanyifeng.com/blog/2012/07/git.html
http://cn.bing.com/search?q=%2bgit+%e4%bd%bf%e7%94%a8+ruanyifeng&filters=rcrse%3a%221%22&FORM=RCRE
http://www.cnblogs.com/GT_Andy/archive/2009/04/23/1922094.html
http://jingyan.baidu.com/article/4b07be3c73400048b280f356.html
C#:通过Window API接口实现WiFi的更多相关文章
- 移动端API接口优化的术和结果
最近一直在忙工作的事情,所以文章写得有些少. 有3-5篇文章都是写到一半然后被别的事情给打断了,所以,我得找个时间好好补补. 最近一直在关注移动端接口API的可用性问题,在移动时代这个做这个优化能产生 ...
- php开发api接口
做过 API 的人应该了解,其实开发 API 比开发 WEB 更简洁,但可能逻辑更复杂,因为 API 其实就是数据输出,不用呈现页面,所以也就不存在 MVC(API 只有 M 和 C),那么我们来探讨 ...
- 免费的无次数限制的各类API接口(2)
之前整理过一些聚合数据上的免费API(各类免费的API接口分享,无限次),这次还有一些其他的进行了整理,主要是聚合数据上和API Store上的一些,还有一些其他的. 聚合数据提供30大类,160种以 ...
- 通过JiaThis API接口自定义分享功能按钮实现分享功能本地化
http://www.mdaima.com/jingyan/20.html 最早李雷博客采用的是百度分享插件,为此还发过博文讲解如何在一个页面调用多个按钮分享不同的文章,感兴趣的朋友可以在本站搜索一下 ...
- 各类无次数限制的免费API接口整理
各类无次数限制的免费API接口整理,主要是聚合数据上和API Store上的一些,还有一些其他的. 聚合数据提供30大类,160种以上基础数据API服务,国内最大的基础数据API服务,下面就罗列一些免 ...
- 全屏API接口
HTML5的诞生给我们提供了很多精彩的JavaScript和HTML新功能和新特征.有些新特征我们已知多年并大量的使用,而另外一些主要是用在前沿的手机移动技术上,或者桌面应用中起辅助作用.不管这些HT ...
- 浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
做过 API 的人应该了解,其实开发 API 比开发 WEB 更简洁,但可能逻辑更复杂,因为 API 其实就是数据输出,不用呈现页面,所以也就不存在 MVC(API 只有 M 和 C),那么我们来探讨 ...
- 网络免费API接口整理
转载自: https://www.cnblogs.com/doit8791/p/9351629.html 从网上看到一些免费API接口,在个人开发小程序等应用练手时可试用. 各类无次数限制的免费API ...
- 各类免费的API接口分享,无限次
各类免费的API接口分享: 手机号码归属地API:https://www.juhe.cn/docs/api/id/11 历史上的今天API:https://www.juhe.cn/docs/api/i ...
随机推荐
- NPOI 导入,导出EXCEL
代码: public static class NPOIExcelHelper { /// <summary> /// DataTable导出到Excel文件 /// </summa ...
- C#通过存储过程进行查询
一直不确定C#可以通过存储过程进行查询,今天才确定是可以的. 可以返回DataReader或者Dataset.
- Lock file left by a different patch, OPatch will not try re-using the lock file.
OPatch在打补丁的过程中被中断,重新执行后报以下错误: UtilSession failed: Lock file left by a different patch, OPatch will n ...
- c#异步调用
首先来看一个简单的例子: 小明在烧水,等水烧开以后,将开水灌入热水瓶,然后开始整理家务 小文在烧水,在烧水的过程中整理家务,等水烧开以后,放下手中的家务活,将开水灌入热水瓶,然后继续整理家务 这也是日 ...
- PostgreSQL Replication之第十五章 与Walbouncer 一起工作
与Walbouncer 一起工作 在本书的最后一章,将引导您通向2014年发布的一个工具,称为walbouncer.本书中的大多数技巧说明了如何复制整个数据库实例,如何分片,等等.在最后一章,是关于w ...
- 转:python webdriver API 之对话框处理
页面上弹出的对话框是自动化测试经常会遇到的一个问题:很多情况下对话框是一个 iframe,如上一节中介绍的例子,处理起来稍微有点麻烦:但现在很多前端框架的对话框是 div 形式的,这就让我们的处理变得 ...
- 树形DP(Rebuilding Roads poj1947)
题意:给出一颗树,求要形成一颗元素个数是p的子树,最少要去掉多少边 #include"stdio.h" #include"string.h" #include& ...
- 【皇甫】☀PPT里的小玩意
第三次写博客了,感觉写的蛮有趣的,在写的同时,回顾了知识点,又上手操作了一遍,印象更加深刻了,尽管今天写的和那些像JAVA啦,HTML啦,C#啦,没多大关系(个人理解),但确实我们经常能用到的.比如说 ...
- Android 沉浸式状态栏
1,传统的手机状态栏是呈现出黑色或者白色条状的,有的和手机主界面有很明显的区别.这样就在一定程度上牺牲了视觉宽度,界面面积变小.看一下QQ的应用 2,实现起来也挺简单的,来一起看一下吧 MainAct ...
- paper 40 :鲁棒性robust
最近只想安心.安静的科研,不想被任何人打扰,继续做自己,不忘初心,方得始终! 首先了解下鲁棒性这个词的定义.鲁棒性是指控制系统在一定(结构,大小)的参数摄动下,维持某些性能的特性.根据对性能的不同定义 ...