Detecting Wifi Networks Using Delphi and Native Wifi API
来源:互联网 发布:js选项卡代码理解 编辑:程序博客网 时间:2024/05/22 08:02
{$APPTYPE CONSOLE}
uses
Windows,
SysUtils,
nduWlanAPI
in
'nduWlanAPI.pas'
,
nduWlanTypes
in
'nduWlanTypes.pas'
;
function
DOT11_AUTH_ALGORITHM_To_String( Dummy :Tndu_DOT11_AUTH_ALGORITHM):
AnsiString
;
begin
Result:=
''
;
case
Dummy
of
DOT11_AUTH_ALGO_80211_OPEN : Result:=
'80211_OPEN'
;
DOT11_AUTH_ALGO_80211_SHARED_KEY : Result:=
'80211_SHARED_KEY'
;
DOT11_AUTH_ALGO_WPA : Result:=
'WPA'
;
DOT11_AUTH_ALGO_WPA_PSK : Result:=
'WPA_PSK'
;
DOT11_AUTH_ALGO_WPA_NONE : Result:=
'WPA_NONE'
;
DOT11_AUTH_ALGO_RSNA : Result:=
'RSNA'
;
DOT11_AUTH_ALGO_RSNA_PSK : Result:=
'RSNA_PSK'
;
DOT11_AUTH_ALGO_IHV_START : Result:=
'IHV_START'
;
DOT11_AUTH_ALGO_IHV_END : Result:=
'IHV_END'
;
end
;
end
;
function
DOT11_CIPHER_ALGORITHM_To_String( Dummy :Tndu_DOT11_CIPHER_ALGORITHM):
AnsiString
;
begin
Result:=
''
;
case
Dummy
of
DOT11_CIPHER_ALGO_NONE : Result:=
'NONE'
;
DOT11_CIPHER_ALGO_WEP40 : Result:=
'WEP40'
;
DOT11_CIPHER_ALGO_TKIP : Result:=
'TKIP'
;
DOT11_CIPHER_ALGO_CCMP : Result:=
'CCMP'
;
DOT11_CIPHER_ALGO_WEP104 : Result:=
'WEP104'
;
DOT11_CIPHER_ALGO_WPA_USE_GROUP : Result:=
'WPA_USE_GROUP OR RSN_USE_GROUP'
;
//DOT11_CIPHER_ALGO_RSN_USE_GROUP : Result:= 'RSN_USE_GROUP';
DOT11_CIPHER_ALGO_WEP : Result:=
'WEP'
;
DOT11_CIPHER_ALGO_IHV_START : Result:=
'IHV_START'
;
DOT11_CIPHER_ALGO_IHV_END : Result:=
'IHV_END'
;
end
;
end
;
procedure
Scan();
const
WLAN_AVAILABLE_NETWORK_INCLUDE_ALL_ADHOC_PROFILES =
$00000001
;
var
hClient : THandle;
dwVersion : DWORD;
ResultInt : DWORD;
pInterface : Pndu_WLAN_INTERFACE_INFO_LIST;
i :
Integer
;
j :
Integer
;
pAvailableNetworkList: Pndu_WLAN_AVAILABLE_NETWORK_LIST;
pInterfaceGuid : PGUID;
SDummy :
AnsiString
;
begin
ResultInt:=WlanOpenHandle(
1
,
nil
, @dwVersion, @hClient);
try
if
ResultInt<> ERROR_SUCCESS
then
begin
WriteLn
(
'Error Open CLient'
+IntToStr(ResultInt));
Exit;
end
;
ResultInt:=WlanEnumInterfaces(hClient,
nil
, @pInterface);
if
ResultInt<> ERROR_SUCCESS
then
begin
WriteLn
(
'Error Enum Interfaces '
+IntToStr(ResultInt));
exit;
end
;
for
i :=
0
to
pInterface^.dwNumberOfItems -
1
do
begin
Writeln
(
'Interface '
+ pInterface^.InterfaceInfo[i].strInterfaceDescription);
WriteLn
(
'GUID '
+ GUIDToString(pInterface^.InterfaceInfo[i].InterfaceGuid));
Writeln
(
''
);
pInterfaceGuid:= @pInterface^.InterfaceInfo[pInterface^.dwIndex].InterfaceGuid;
ResultInt:=WlanGetAvailableNetworkList(hClient,pInterfaceGuid,WLAN_AVAILABLE_NETWORK_INCLUDE_ALL_ADHOC_PROFILES,
nil
,pAvailableNetworkList);
if
ResultInt<> ERROR_SUCCESS
then
begin
WriteLn
(
'Error WlanGetAvailableNetworkList '
+IntToStr(ResultInt));
Exit;
end
;
for
j :=
0
to
pAvailableNetworkList^.dwNumberOfItems -
1
do
Begin
WriteLn
(Format(
'Profile %s'
,[WideCharToString(pAvailableNetworkList^.Network[j].strProfileName)]));
SDummy:=
PAnsiChar
(@pAvailableNetworkList^.Network[j].dot11Ssid
.
ucSSID);
WriteLn
(Format(
'NetworkName %s'
,[SDummy]));
WriteLn
(Format(
'Signal Quality %d '
,[pAvailableNetworkList^.Network[j].wlanSignalQuality])+
'%'
);
//SDummy := GetEnumName(TypeInfo(Tndu_DOT11_AUTH_ALGORITHM),integer(pAvailableNetworkList^.Network[j].dot11DefaultAuthAlgorithm)) ;
SDummy:=DOT11_AUTH_ALGORITHM_To_String(pAvailableNetworkList^.Network[j].dot11DefaultAuthAlgorithm);
WriteLn
(Format(
'Auth Algorithm %s '
,[SDummy]));
SDummy:=DOT11_CIPHER_ALGORITHM_To_String(pAvailableNetworkList^.Network[j].dot11DefaultCipherAlgorithm);
WriteLn
(Format(
'Auth Algorithm %s '
,[SDummy]));
Writeln
(
''
);
End
;
end
;
finally
WlanCloseHandle(hClient,
nil
);
end
;
end
;
begin
try
Scan();
Readln;
except
on
E:Exception
do
Writeln
(E
.
Classname,
': '
, E
.
Message);
end
;
end
.
0 0
- Detecting Wifi Networks Using Delphi and Native Wifi API
- Detecting and Using LTE Networks
- native wifi api使用方法
- Native wifi API使用
- Native wifi API使用
- Native wifi API使用
- native wifi api 详解
- Native Wifi API 应用小结
- 使用Native Wifi API查找無線網絡信息
- VC++玩转Native Wifi API
- VC++玩转Native Wifi API 2---Wifi on与wifi off
- Xen in WiFi networks
- native wifi mac rssi
- Windows Native WIFI 编程
- wifi
- WIFI
- WIFI
- WiFi
- First Missing Positive
- jquery.serializeJSON
- 2014年下半年自学Linux命令7(持续更新)
- 域名解析和cdn 原理
- sublime 添加python 编译方法
- Detecting Wifi Networks Using Delphi and Native Wifi API
- 驱动开发-用windbg工具进行双机调试
- 在使用私有属性公有方法访问的时候在get方法里使用判断
- c++异常Try catch
- 2014下半年自学Linux命令8
- 黑马程序员------内存管理
- network is available on Android and iOS?(安卓和IOS手机的网络状态)
- D3DXMatrixOrthoLH +正交投影矩阵
- 数组与指针