我試着去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