.net 禁用ActiveSync的Windows CE 5.0检测驳接(与PC的连接)

.net 禁用ActiveSync的Windows CE 5.0检测驳接(与PC的连接),.net,.net-3.5,compact-framework,windows-ce,.net,.net 3.5,Compact Framework,Windows Ce,该应用程序是在.Net CF 3.5 for Windows CE 5.0中开发的 出于安全考虑,设备上已禁用ActiveSync。 已设置以下注册表值以实现此目的: HKEY\ U当前\用户\控制面板\通信\自动通信:0 HKEY\U当前用户\ControlPanel\Comm\Cnct:“ 此外,Softtick CardExport还用于通过USB大容量存储器公开存储。 CardExport始终使用自己的USB驱动程序在此模式下运行 目的是在coredll中使用CeRunAppAtEven

该应用程序是在.Net CF 3.5 for Windows CE 5.0中开发的

出于安全考虑,设备上已禁用ActiveSync。 已设置以下注册表值以实现此目的:

HKEY\ U当前\用户\控制面板\通信\自动通信:0 HKEY\U当前用户\ControlPanel\Comm\Cnct:“

此外,Softtick CardExport还用于通过USB大容量存储器公开存储。 CardExport始终使用自己的USB驱动程序在此模式下运行

目的是在coredll中使用CeRunAppAtEvent,并注册检测到的通知\u事件\u RS232\u

但是,这似乎仅在CardExport未处于活动状态且设备处于ActiveSync模式时才起作用。 我相信这是由于操作系统没有接收到RS232事件,因为它自己的ActiveSync驱动程序没有运行

目前,使用coredll中的RequestPowerNotificationsGetSystemPowerStatusEx使用交流电源检测设备是否停靠在其支架中

然而,这不是一个可行的长期解决方案,因为并非终端系统中的所有支架都有交流电源,这意味着我们无法检测到对接


在Windows CE 5.0中是否有可以访问以帮助解决此问题的可能遗漏的内容?

ActiveSync肯定适用于任何常规Windows CE设备(当然,假设它在操作系统映像中具有ActiveSync)

不幸的是,
CeRunAppAtEvent
对您来说是一个不好的开始,正如您所发现的。IIRC,如果你处于来宾模式,所有的活动都不会触发,不过我也会尝试通知事件同步结束


由于这是USB客户端连接,您可能不太可能从设备驱动程序子系统收到设备通知,但这正是我想要的方向。查看是否显示任何通知(使用)。只需为devclass传入一个
NULL
,即可获得所有通知,如果找到通知,请更改为在生产中使用该devclass。

ActiveSync肯定适用于任何常规Windows CE设备(当然,假设它在操作系统映像中具有ActiveSync)

不幸的是,
CeRunAppAtEvent
对您来说是一个不好的开始,正如您所发现的。IIRC,如果你处于来宾模式,所有的活动都不会触发,不过我也会尝试通知事件同步结束


由于这是USB客户端连接,您可能不太可能从设备驱动程序子系统收到设备通知,但这正是我想要的方向。查看是否显示任何通知(使用)。只需为devclass传入一个
NULL
,即可获得所有通知,如果找到通知,则改为在生产中使用该devclass。

是否混合术语?ActiveSync是Windows Mobile x.y的一部分,而不是Windows CE的一部分。Windows CE通常使用RAS连接。。。。如果这是Windows Mobile设备,则只需将replog.exe替换为您自己的内容,然后像往常一样激活ActiveSync。然后将调用此replog.exe以获取在args中使用事件名称检测到的事件通知\u event\u RS232\u。在PC端,您可以使用GuestOnly并让wmdcbase.exe而不是wmdc启动,以避免wmdc被启动到GUI。@josef尽管它触发了“Windows Mobile Device Center”对话框,但WindowsCE确实支持ActiveSync,例如,请参阅我没有写过关于RAPI支持的文章,但是关于Windows CE没有“ActiveSync”的文章应用程序与Windows Mobile一样。因此,我假设Windows CE上不会有replog.exe。@josef也许这会让你信服:“Microsoft ActiveSync为基于Windows的桌面计算机和基于Microsoft Windows CE的设备之间同步数据提供支持。”我使用的所有Windows CE设备都安装并启用了ActiveSync。还是我看错了?你能添加设备上运行的Windows操作系统吗?或者,可能是设备的型号代码?您是否在混合术语?ActiveSync是Windows Mobile x.y的一部分,而不是Windows CE的一部分。Windows CE通常使用RAS连接。。。。如果这是Windows Mobile设备,则只需将replog.exe替换为您自己的内容,然后像往常一样激活ActiveSync。然后将调用此replog.exe以获取在args中使用事件名称检测到的事件通知\u event\u RS232\u。在PC端,您可以使用GuestOnly并让wmdcbase.exe而不是wmdc启动,以避免wmdc被启动到GUI。@josef尽管它触发了“Windows Mobile Device Center”对话框,但WindowsCE确实支持ActiveSync,例如,请参阅我没有写过关于RAPI支持的文章,但是关于Windows CE没有“ActiveSync”的文章应用程序与Windows Mobile一样。因此,我假设Windows CE上不会有replog.exe。@josef也许这会让你信服:“Microsoft ActiveSync为基于Windows的桌面计算机和基于Microsoft Windows CE的设备之间同步数据提供支持。”我使用的所有Windows CE设备都安装并启用了ActiveSync。还是我看错了?你能添加设备上运行的Windows操作系统吗?或者,可能是设备的型号代码?“不幸的是,正如您所发现的,CeRunAppAtEvent对您来说不是启动程序。IIRC,如果您处于来宾模式,则不会触发任何事件”。事件会在设备上触发,GuestMode是PC上的一种设置。我正在使用GuestMode运行我的PC(超过5台设备正在更改),ActiveSync会在所有设备(WinCE5/6、WM6、WM65或WEH65和WEC7)和我的PC上触发。你是对的,我的WEC7设备有一个名为ActiveSync的应用程序,但WinCE 6没有,它使用RAS。感谢所有证实我发现的反馈。我最终不得不依赖CardExport中提供反馈的USB驱动程序。“不幸的是,正如您所发现的,CerUnappeatEvent对您来说不是一个启动程序。IIRC,如果您处于来宾模式,则不会触发任何事件。”。该事件在设备上触发,GuestMode是一个settin