我在WindowsCE 5.0设备上使用CompactFramework 3.5来构建应该使用主动同步连接来获取一些数据的应用程序。
如何检测移动设备是否在底座中并且是否具有活动连接?是否有某种PInvoke呼叫?
答案 0 :(得分:3)
取决于您要检测连接的哪一方。对于桌面端,您可以挂钩一些ActiveSync事件。免费的开源Desktop Communication library可以帮助您。
对于设备,有几种方法。对于WinMo,它很简单 - 您可以通过Microsoft.WindowsMobile.Status class点击来使用状态和通知代理。
对于通用CE设备,您可以使用NOTIFICATION_EVENT_RS232_DETECTED标志P / Invoke CeRunAppAtEvent(可以设置事件,而不仅仅是运行应用程序)。这些API也包含在OpenNETCF的Smart Device Framework中,特别是在DeviceManagement.SerialDeviceDetected event
中答案 1 :(得分:-1)
你也可以用这个探测摇篮:
get
{
return SystemState.GetValue(SystemProperty.CradlePresent).Equals(1);
}
好吧,那么
get
{
return (int)SystemState.GetValue(SystemProperty.ConnectionsDesktopCount) > 0;
}