Windows CE 5.0 Detect dock (connection to PC) with ActiveSync disabled
<p>The application is developed in .Net CF 3.5 for Windows CE 5.0.</p>

<p>Due to security concerns ActiveSync has been disabled on the device.
The following registry values have been set to achieve this:</p>

<p>HKEY_CURRENT_USER\ControlPanel\Comm\AutoCnct : 0
HKEY_CURRENT_USER\ControlPanel\Comm\Cnct : ""</p>

<p>To add to this, Softtick CardExport is being used to expose the storage via USB Mass Storage.
CardExport is always running in this mode with it's own USB driver.</p>

<p>The intention was to use CeRunAppAtEvent in coredll and register for <strong>NOTIFICATION_EVENT_RS232_DETECTED</strong></p>

<p>However this only seems to work when CardExport is not active and the device is in ActiveSync mode.
I believe this is due to the OS not receiving the RS232 event as it's own ActiveSync drivers are not in operation.</p>

<p>Currently AC Power is being used to detect that the device is docked in it's cradle using <strong>RequestPowerNotifications</strong> in coredll and <strong>GetSystemPowerStatusEx</strong>.</p>

<p>However this isn't a viable long term solution as not all cradles in the end system will have AC power which means we cannot detect dock.</p>

<p>Is there anything that may have been missed that can be accessed in Windows CE 5.0 to help solve this issue?</p>