資源簡介
最近項目需要用到wifi的API函數,不過網上關于這方面的資料實在是太少了。本來用c++是比較簡單,不用重新聲明那么多數組。不過由于總總原因,必須用c#實現,搞了好久,今天終于出來了!
用的是vs2008編譯。

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Text;
using?System.Runtime.InteropServices;
namespace?wifi
{
????class?Program
????{
????????static?void?Main(string[]?args)
????????{
????????????wifi?wf?=?new?wifi();
????????????wf.EnumerateAvailableNetwork();
????????}
????}
????class?wifi
????{
????????///?
????????///?打開一個wifi句柄
????????///?
????????///?版本號
????????///?保留
????????///?支持的最高版本(輸出)
????????///?句柄(要得到的)以后的句柄一般都是這個
????????///?
????????[DllImport(“Wlanapi“?EntryPoint?=?“WlanOpenHandle“)]
????????public?static?extern?uint?WlanOpenHandle(uint?dwClientVersion?IntPtr?pReserved?[Out]?out?uint?pdwNegotiatedVersion?ref?IntPtr?ClientHandle);
????????///?
????????///?關閉打開的句柄
????????///?
????????///?句柄
????????///?保留
????????///?
????????[DllImport(“Wlanapi“?EntryPoint?=?“WlanCloseHandle“)]
????????public?static?extern?uint?WlanCloseHandle([In]?IntPtr?hClientHandle?IntPtr?pReserved);
????????///?
????????///?列舉無線網絡適配器
????????///?
????????///?句柄
????????///?保留
????????///?數據指針(非托管)
????????///?
????????[DllImport(“Wlanapi“?EntryPoint?=?“WlanEnumInterfaces“)]
????????public?static?extern?uint?WlanEnumInterfaces([In]?IntPtr?hClientHandle?IntPtr?pReserved?ref?IntPtr?ppInterfaceList);
????????///?
????????///?釋放內存
????????///?
????????///?要釋放的內存起始地址
????????[DllImport(“Wlanapi“?EntryPoint?=?“WlanFreeMemory“)]
????????public?static?extern?void?WlanFreeMemory([In]?IntPtr?pMemory);
????????///?
????????///?獲得可見的無線網絡
????????///?
????????///?句柄
????????///?適配器的Guid號
????????///?標志位,
????????///?保留
????????///?無線網絡的內存起始地址(非托管)
????????///?
????????[DllImport(“Wlanapi“?EntryPoint?=?“WlanGetAvailableNetworkList“)]
????????public?static?extern?uint?WlanGetAvailableNetworkList(IntPtr?hClientHandle?ref?Guid?pInterfaceGuid?uint?dwFlags?IntPtr?pReserved?ref?IntPtr?ppAvailableNetworkList);
???????
????????///?
????????///?網絡適配器的狀態
????????///?
????????public?enum?WLAN_INTERFACE_STATE
????????{
????????????wlan_interface_state_not_ready?=?0
????????????wlan_interface_state_connected?=?1
????????????wlan_interface_state_ad_hoc_network_formed?=?2
????????????wlan_interface_state_disconnecting?=?3
????????????wlan_int
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????9728??2010-11-28?15:21??WiFiDemo\WiFiDemo\bin\Debug\WiFiDemo.exe
?????文件??????15872??2010-11-28?15:21??WiFiDemo\WiFiDemo\bin\Debug\WiFiDemo.pdb
?????文件??????14328??2010-11-28?15:34??WiFiDemo\WiFiDemo\bin\Debug\WiFiDemo.vshost.exe
?????文件????????490??2009-06-11?05:14??WiFiDemo\WiFiDemo\bin\Debug\WiFiDemo.vshost.exe.manifest
?????文件????????533??2010-11-28?15:34??WiFiDemo\WiFiDemo\obj\Debug\WiFiDemo.csproj.FileListAbsolute.txt
?????文件???????9728??2010-11-28?15:21??WiFiDemo\WiFiDemo\obj\Debug\WiFiDemo.exe
?????文件??????15872??2010-11-28?15:21??WiFiDemo\WiFiDemo\obj\Debug\WiFiDemo.pdb
?????文件??????11962??2010-11-28?15:21??WiFiDemo\WiFiDemo\Program.cs
?????文件???????1366??2010-11-28?15:18??WiFiDemo\WiFiDemo\Properties\AssemblyInfo.cs
?????文件???????2489??2010-11-28?15:18??WiFiDemo\WiFiDemo\WiFiDemo.csproj
?????文件????????914??2010-11-28?15:18??WiFiDemo\WiFiDemo.sln
????..A..H.?????11264??2010-11-28?15:21??WiFiDemo\WiFiDemo.suo
?????目錄??????????0??2010-11-28?15:18??WiFiDemo\WiFiDemo\obj\Debug\TempPE
?????目錄??????????0??2010-11-28?15:21??WiFiDemo\WiFiDemo\bin\Debug
?????目錄??????????0??2010-11-28?15:21??WiFiDemo\WiFiDemo\obj\Debug
?????目錄??????????0??2010-11-28?15:18??WiFiDemo\WiFiDemo\bin
?????目錄??????????0??2010-11-28?15:18??WiFiDemo\WiFiDemo\obj
?????目錄??????????0??2010-11-28?15:18??WiFiDemo\WiFiDemo\Properties
?????目錄??????????0??2010-11-28?15:21??WiFiDemo\WiFiDemo
?????目錄??????????0??2010-11-28?15:18??WiFiDemo
-----------?---------??----------?-----??----
????????????????94546????????????????????20
評論
共有 條評論