我试着去Delphi的使用功能从Windows API,为Windows Wlanapi.dll(本机WIFI API)如何使用 “本地WiFi API” 用Delphi的Windows API函数
DWORD WINAPI WlanOpenHandle(
__in DWORD dwClientVersion,
__reserved PVOID pReserved,
__out PDWORD pdwNegotiatedVersion,
__out PHANDLE phClientHandle
);
功能
WlanHostedNetworkQueryProperty
DWORD WINAPI WlanHostedNetworkQueryProperty(
__in HANDLE hClientHandle,
__in WLAN_HOSTED_NETWORK_OPCODE OpCode,
__out PDWORD pdwDataSize,
__out PVOID *ppvData,
__out PWLAN_OPCODE_VALUE_TYPE *pWlanOpcodeValueType,
__reserved PVOID pvReserved
);
我试图用这个功能和其他好几个小时,阅读参考MSDN和其他网站,但我不能得到这个干活G。
我尝试
type
TWlanOpenHandle = function( dwClientVersion:DWORD;
pReserved:Pointer;
pdwNegotiatedVersion:PDWORD;
phClientHandle:PHANDLE
):DWORD; stdcall;
function apiWlanOpenHandle( dwClientVersion:DWORD;
pReserved:Pointer;
pdwNegotiatedVersion:PDWORD;
phClientHandle:PHANDLE
):DWORD;
implementation
function apiWlanOpenHandle (dwClientVersion:DWORD; pReserved:Pointer; pdwNegotiatedVersion:PDWORD; phClientHandle:PHANDLE):DWORD;
var
WlanOpenHandle: TWlanOpenHandle;
DLL: Cardinal;
begin
DLL:=LoadLibrary('Wlanapi.dll');
WlanOpenHandle := GetProcAddress(DLL, 'WlanOpenHandle');
if Assigned(WlanOpenHandle) then
begin
WlanOpenHandle(dwClientVersion, pReserved, pdwNegotiatedVersion, phClientHandle);
end
else begin
ShowMessage('Function not found');
end;
end;
我试图把这种API,似乎很多工作,而我只是在delphi初学者,我读了很多的东西在网络上,怎么办我处理这OpCode
参数,似乎是一个具有常量的C结构体和PWLAN_OPCODE_VALUE_TYPE?
http://msdn.microsoft.com/en-us/library/windows/desktop/dd439502(v=vs.85).aspx
究竟是什么问题?你展示了加载DLL函数的代码,但没有试图实际使用它的代码。 – 2012-02-18 23:07:35
为什么要重新发明车轮。它已经完成:http://theroadtodelphi.wordpress.com/2009/10/07/detecting-wifi-networks-using-delphi/ – 2012-02-19 02:37:36
@WarrenP会少得多的工作,但这是过时的,我需要的功能是缺少WlanHostedNetwork ...如果你知道Windows 7或2008的这个lib,请告诉我,谢谢你。 – 2012-02-19 05:42:39