C++ 如何在MFC中使用接近传感器(P传感器)类?

C++ 如何在MFC中使用接近传感器(P传感器)类?,c++,mfc,windows-runtime,proximitysensor,C++,Mfc,Windows Runtime,Proximitysensor,我在使用接近传感器类时遇到了这个问题。 最近,我从事了接近传感器(P-Sensor)软件开发。 我从谷歌上找到了一些相关参考资料,例如接近传感器类(网站:msdn.microsoft.com/en-us/library/windows/apps/windows.devices.sensors.proximitysensor.aspx)和示例代码(网站:github.com/microsoft/windows-universal-samples/tree/master/samples/proxim

我在使用接近传感器类时遇到了这个问题。 最近,我从事了接近传感器(P-Sensor)软件开发。 我从谷歌上找到了一些相关参考资料,例如接近传感器类(网站:msdn.microsoft.com/en-us/library/windows/apps/windows.devices.sensors.proximitysensor.aspx)和示例代码(网站:github.com/microsoft/windows-universal-samples/tree/master/samples/proximitysensor/cpp)。 我试图模仿示例代码,但它不起作用

我知道,首先需要创建运行时api接口。下面的代码是如何创建 接口IProximitySensorStatics并成功。输出打印“0”。 在使用之前,必须通过api GetActivationFactory()激活接口IProximitySensorStatics

ComPtr<IProximitySensorStatics> stProximitySensorStatics;
HRESULT hr = GetActivationFactory(HStringReference(RuntimeClass_Windows_Devices_Sensors_ProximitySensor).Get(), &stProximitySensorStatics);
printf("CProximitySensorCtrl::GetActivationFactory stProximitySensorStatics hr = %x", hr);
if (FAILED(hr))
{
    printf("GetActivationFactory stProximitySensorStatics failed");
    return FALSE;
} 

非常感谢。

错误代码没有指明这一点,但您是否成功调用以初始化调用线程?是的,我在开始时调用了RoInitialize。错误代码没有指明这一点,但您是否成功调用以初始化调用线程?是的,我在开始时调用了RoInitialize。
ComPtr<IProximitySensor> stProximitySensor;
hr = GetActivationFactory(HStringReference(RuntimeClass_Windows_Devices_Sensors_ProximitySensor).Get(), &stProximitySensor);
printf("CProximitySensorCtrl::GetActivationFactory stProximitySensor hr = %x", hr);
if (FAILED(hr))
{
    printf("GetActivationFactory stProximitySensor failed");
    return FALSE;
} 
HSTRING m_hsString;
hr = stProximitySensorStatics->GetDeviceSelector(&m_hsString);

hr = stProximitySensorStatics->FromId(m_hsString, &stProximitySensor); 
printf("FromId hr = %x", hr); 
if (FAILED(hr))
{
    printf("FromId failed");
    return FALSE;
}
if (stProximitySensor == NULL)
{
    printf("FromId stProximitySensor = null failed");
    return FALSE;
}