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 ...
随机推荐
- webDriver运行过程中遇到的问题
1.org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 705 ...
- jQuery.proxy()函数
jQuery.proxy(),接受一个函数,然后返回一个新函数,并且这个新函数始终保持了特定的上下文(context)语境. context 代表上下文 name是上下文的某个属性 jQuery. ...
- Install .NET Framework 4.5.2 on a Cloud Service Role
October Guest OS rollout is starting today October 15 2015, and projected to be released on November ...
- Hadoop学习(3)-- 安装1.x版本
Hadoop有三种安装模式,分别为单机模式.伪分布式模式和完全分布式模式(集群模式).本文安装版本是hadoop-1.1.2,hadoop-2.x版本安装请参考:http://www.cnblogs. ...
- Custom IFormatProvider
The following example shows how to write a custom IFormatProvider which you can use in methodString. ...
- 隐藏ipad/ip顶部状态栏
在GameViewController.swift中重载prefersStatusBarHidden方法,返回true override func prefersStatusBarHidden() - ...
- PostgreSQL应用相关问题解决
PostgreSQL中是否区分聚簇索引与非聚簇索引的问题? 答:PostgreSQL中区分聚簇索引与非聚簇索引. 示例如下: 创建聚族索引: CREATE INDEX test_ind ON yy ( ...
- Summary: Trie Data Structure
Implement a Trie Data Structure, and search() & insert() function: we need to implement both Cla ...
- How to export a template in Visual Studio?
Create a customize template file: 1.template arguments introduction like: 上图只是其中一部分,更多请查看文后的参考资源 tem ...
- csuoj 1115: 最短的名字
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1115 1115: 最短的名字 Time Limit: 5 Sec Memory Limit: 6 ...