JAGUARSDN1网络的开机自动启动 禁用,WIFI模块的启动关闭控制
先確認下系統中有沒有加載NDISPWR.DLL,如果沒有的話,把這個組件加上
WIFI在默認情況下,是開機自動打開的,如果要開機禁用,在HKEY_LOCAL_MACHINE/Comm/NdisPower創建一個鍵值
name = 4
name是你用的WIFI的名字
如果想開機自動打開,把這個鍵值刪掉
打開關閉WIFI時,想網絡圖標正常,除了用setdevicepower外
還要用到NDIS的IOCTL_NDIS_BIND_ADAPTER或者IOCTL_NDIS_UNBIND_ADAPTER
綁定或者解除綁定
?
在HKEY_LOCAL_MACHINE/Comm/NdisPower下面加"JaguarSDN1" = 4 就OK了
IOCTL_NDIS_BIND_ADAPTER是用DeviceIoControl操作的,打開的設備是NDS0,bufferin里寫你要bind的網卡名字,因為網卡是NDIS設備,網卡名字應該是NDIS的ClassID+JaguarSDN1
具體代碼去PUBLIC下找NDISPWR的代碼看看
?
?
===============================================
BOOL??
DoNdisIOControl(
? DWORD dwCommand,??
? LPVOID pInBuffer,
? DWORD cbInBuffer,??
? LPVOID pOutBuffer,
? DWORD *pcbOutBuffer)
{
? HANDLE hNdis;
? BOOL bResult = FALSE;
? hNdis = CreateFile(
? DD_NDIS_DEVICE_NAME,??
? GENERIC_READ | GENERIC_WRITE,
? FILE_SHARE_READ | FILE_SHARE_WRITE,??
? NULL,??
? OPEN_ALWAYS,
? 0,??
? NULL);
? if (INVALID_HANDLE_VALUE != hNdis)
? {
? bResult = DeviceIoControl(
? hNdis,??
? dwCommand,??
? pInBuffer,??
? cbInBuffer,
? pOutBuffer,??
? (pcbOutBuffer ? *pcbOutBuffer : 0x00),
? pcbOutBuffer,??
? NULL);
? ??
? CloseHandle(hNdis);
? }
? return bResult;
? ??
}
? nChars = _sntprintf(
? szName,??
? MAX_PATH-1,??
? _T("%s//%s"),??
? PMCLASS_NDIS_MINIPORT,??
? ptcDeviceName);
? if (nChars != -1)
? {
? DEBUGMSG (ZONE_NDISUIO,
? (TEXT("NdisPower:: Setting adapter [%s] to Power State [%s]./r/n"),
? ptcDeviceName,
? (CePowerState == D0) ? TEXT("D0") :
? (CePowerState == D1) ? TEXT("D1") :
? (CePowerState == D2) ? TEXT("D2") :
? (CePowerState == D3) ? TEXT("D3") :
? (CePowerState == D4) ? TEXT("D4") :
? (CePowerState == PwrDeviceUnspecified) ? TEXT("PwrDeviceUnspecified") : ??
? TEXT("UNKNOWN!")));
? SetDevicePower(szName, POWER_NAME, CePowerState);
? }
? //
? // IOCTL_NDIS_UNBIND_ADAPTER takes multisz (protocol driver names
? // follow the adapter name) hence we need extra NULL.
? //
? ??
? memset (szName, 0x00, sizeof(szName));
? _tcscpy(szName, ptcDeviceName);
? DoNdisIOControl(
? IOCTL_NDIS_UNBIND_ADAPTER,??
? szName,
? (_tcslen(ptcDeviceName)+2) * sizeof(TCHAR),
? NULL,??
? NULL);??
這段是先關設備再UNBIND的代碼,希望對你有幫助
總結
以上是生活随笔為你收集整理的JAGUARSDN1网络的开机自动启动 禁用,WIFI模块的启动关闭控制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 村镇银行是私人银行吗?和信用社比哪个安全
- 下一篇: 2020年鼠年纪念币价格多少?纪念币怎么