Мне нужно вернуть порт с некоторым программным обеспечением от Windows Mobile 6.5 до Windows CE 5.0, программное обеспечение в настоящее время обнаруживает, когда устройство находится в базовом блоке (работает ActiveSync).WIN CE 5.0 ActiveSync Connect/Disconnect?
Мне нужно знать, когда ActiveSync работает на устройстве, чтобы я мог подготовить устройство для отправки и получения файлов.
Я нашел статью об использовании методов PINVOKE, таких как CeRunAppAtEvent, но я не знаю, как это будет работать.
bool terminateDeviceEventThreads = false;
IntPtr handleActiveSyncEndEvent;
while (!terminateDeviceEventThreads)
{
handleActiveSyncEndEvent = NativeMethods.CreateEvent (IntPtr.Zero,
true, false, "EventActiveSync");
if (IntPtr.Zero != handleActiveSyncEndEvent)
{
if (NativeMethods.CeRunAppAtEvent ("\\\\.\\Notifications\\NamedEvents\\EventActiveSync",
(int) NOTIFICATION_EVENT.NOTIFICATION_EVENT_RS232_DETECTED))
{
NativeMethods.WaitForSingleObject (handleActiveSyncEndEvent, 0);
//
NativeMethods.ResetEvent (handleActiveSyncEndEvent);
if (!NativeMethods.CeRunAppAtEvent ("\\\\.\\Notifications\\NamedEvents\\EventActiveSync",
(int) NOTIFICATION_EVENT.NOTIFICATION_EVENT_NONE))
{
break;
}
handleActiveSyncEndEvent = IntPtr.Zero;
}
}
}
Так что вопрос здесь? Код, который вы отправили, устанавливает именованное событие, когда устройство подключено, поэтому вы, вероятно, можете ожидать его в другом месте приложения. – ctacke
Привет, это проблема, я не понимаю код, который я нашел, мне нужен триггер, который запускается, когда устройство помещается в подставку и когда оно вынимается, подобно SystemState в WM6 –