wince5.0不知道,6.0是可以通过BTD的IOCTROL来开关蓝牙。
static BOOL BTDEnable(BOOL bEn)
{
BOOL bRet = FALSE;
HANDLE hService = CreateFile(L"BTD0:", GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
if(hService == INVALID_HANDLE_VALUE)
{
RETAILMSG(1, (TEXT("Device not loaded")));
return bRet;
}
WCHAR *argPtr = L"card";
if (!bEn) //Disable
{
if (DeviceIoControl(hService, IOCTL_SERVICE_STOP, argPtr, sizeof(WCHAR)*(wcslen (argPtr) + 1),
NULL, 0, NULL, NULL))
{
bRet = TRUE;
}
else
{
bRet = FALSE;
}
}
else //enable
{
if (DeviceIoControl(hService, IOCTL_SERVICE_START, argPtr, sizeof(WCHAR)*(wcslen (argPtr) + 1),
NULL, 0, NULL, NULL))
{
bRet = TRUE;
}
else
{
bRet = FALSE;
}
}
CloseHandle(hService);
return bRet;
}