如何识别Windows Mobile 2005设备已连接到底座?

时间:2009-05-19 16:16:43

标签: c# windows-mobile

如何识别终端(Windows Mobile 2005)是否已连接到底座?

我需要在终端

中保持一致

提前谢谢

3 个答案:

答案 0 :(得分:3)

如果您需要从设备上执行此操作:

static public bool IsConnectedToCradle
{
  get { return SystemState.CradlePresent; }
}

PS:FWIW,在Windows Mobile术语中,“终端”通常称为“设备”。

答案 1 :(得分:2)

如果您是从主机(桌面)进行检查,我有两种方法: 通过进程触发器和COM接口。

  1. AutoStartOnConnect
    在HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows CE服务中有一个名为AutoStartOnConnect的注册表项。或者您当然可以在HKEY_CURRENT_USER中使用类似的值。在该键下使用任何名称安装字符串值。该值的数据应该是设备连接时运行的应用程序的命令行。如果您希望通知已在运行的应用程序,您可以编写一个小程序,通知正在运行的应用程序该设备已连接。将该小exe的路径插入AutoStartOnConnect键下的Value。
  2. IDccMan / IDccManSink
    您的应用程序可以在桌面上注册一个COM对象,该对象可以针对各种设备事件进行调用。这将需要P / Invoke和interop,但它并不太棘手。 openNETCF源代码包含这些接口的C#包装器。

答案 2 :(得分:1)

您可以使用RAPI。在OpenNETCF查看RAPI通信库。如果您是从主持人那里进行测试,这会有所帮助。