?? wirelessdev.cpp
字號(hào):
typedef enum _DEVTYPE
{
DEV_WIFI = 1,
DEV_PHONE,
DEV_BLUETOOTH,
} DEVTYPE;
struct RDD
{
RDD() : pszDeviceName(NULL), pNext(NULL), pszDisplayName(NULL) {}
~RDD() { LocalFree(pszDeviceName); LocalFree(pszDisplayName); }
LPTSTR pszDeviceName;
LPTSTR pszDisplayName;
DWORD dwState;
DWORD dwDesired;
DEVTYPE DeviceType;
RDD * pNext;
};
typedef HRESULT (*TPChangeRadioState)(RDD* pDev, DWORD dwState, SAVEACTION sa); //273
typedef HRESULT (*TPGetWirelessState)(BOOL *bState); //277
typedef HRESULT (*TPGetWirelessDevices)(RDD **pDevices, DWORD dwFlags); //276
typedef HRESULT (*TPChangeWirelessState)(BOOL bOn); //278
typedef void (*TPFreeDeviceList)(RDD *pRoot); //280
int setwifistate(int state)
{
BOOL bState=false;
HRESULT res=E_FAIL;
TPGetWirelessDevices pTPGetWirelessDevices;
TPFreeDeviceList pTPFreeDeviceList;
TPChangeRadioState pTPChangeRadioState;
TPGetWirelessState pTPGetWirelessState;
TPChangeWirelessState pTPChangeWirelessState;
HMODULE m=LoadLibrary(L"ossvcs.dll");
if(m)
{
pTPGetWirelessDevices=(TPGetWirelessDevices)GetProcAddress(m,MAKEINTRESOURCE(276));
pTPFreeDeviceList=(TPFreeDeviceList)GetProcAddress(m,MAKEINTRESOURCE(280));
pTPChangeRadioState=(TPChangeRadioState)GetProcAddress(m,MAKEINTRESOURCE(273));
pTPGetWirelessState=(TPGetWirelessState)GetProcAddress(m,MAKEINTRESOURCE(277));
pTPChangeWirelessState=(TPChangeWirelessState)GetProcAddress(m,MAKEINTRESOURCE(278));
RDD * pDevice = NULL;
RDD * pTD;
if(pTPChangeWirelessState && pTPGetWirelessState && pTPGetWirelessDevices && pTPFreeDeviceList && pTPChangeRadioState)
{
if(state==1)
{
pTPGetWirelessState(&bState);
if(bState==false)
pTPChangeWirelessState(true);
}
res=pTPGetWirelessDevices(&pDevice, 0);
if (pDevice)
{
pTD = pDevice;
while (pTD)
{
switch (pTD->DeviceType)
{
case DEV_WIFI:
if (pTD->dwState!=state)
{
res = pTPChangeRadioState(pTD, state , 2);
}
else
res=S_OK;
break;
default:
break;
}
pTD = pTD->pNext;
}
pTPFreeDeviceList(pDevice);
}
}
FreeLibrary(m);
}
return res==S_OK;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -