[C++] Mit ActiveSync ein Programm anstoßen

Wu-mc

Mitglied
Hallo Forum,

ich erklär jetzt erstmal meine Problemstellung und dann den von mir gedachten Ansatz.

Ein Windows CE Gerät wird über die USB Schnittstelle mit einem Desktop-PC verbunden. Darauf läuft ein Programm (am Besten im Hintergrund also Tasksymbol), das nach dem Verbinden eine bestimmte Datei des Gerätes ausliest. Diese Datei liegt immer an der gleichen Stelle und gibt aufschluss über die "Terminal-ID", also die eindeutige Nummer des Gerätes. Anhand dieser Nummer werden auf das Gerät bestimmte Dateien aufgespielt bzw. vom Gerät abgerufen. Konkret, morgens werden Aufträge hochgeladen und abends die bearbeiteten Aufträge vom Gerät abgeholt. Nach erfolgreichem Transfer soll ein Signalton erklingen. Danach wird das Gerät wieder abgezogen, das nächste angesteckt und der Vorgang beginnt von vorne.

- Wenn ich das alles richtig verstanden habe brauche ich ActiveSync für den Transfer auf jeden Fall, richtig?
- Es ist nicht möglich eine Applikation mit einem USB Port Listener zu schreiben und einfach auf ein Event zu warten?
- Wenn ActiveSync notwendig ist, ist es dann möglich auf Events von ActiveSync zu warten, so dass ActiveSync mein Programm anstößt nach erfolgreichem Connect?
 
Ist es überhaupt möglich auf Geräte die über ActiveSync erkannt werden direkt zu zu greifen? Denn ich sehe das Gerät selber ja nicht im Arbeitsplatz wie z.B. bei einer Digicam, sonder nur unter "Mobile Geräte" und wenn ich dort auf einen Ordner gehe dann habe ich keinen absoluten Pfad zu diesem, also kann ich aus einem C++ Programm gar keine Dateien von diesem Gerät einlesen. Oder kann mir jemand Denkanstöße geben wie ich das bewerkstellige? Es muss doch irgendwie möglich sein auf solche Geräte zuzugreifen
 
Habe jetzt mittlerweile über die MSDN herausgefunden das es für ActiveSync sogenannten Provider gibt. Das sind DLLs die jeweils für das Gerät und ActiveSync auf dem PC abgelegt werden. Mit diesen kann man eigene Syncronisationsprozesse definieren. Hat das schonmal jemand gemacht?
 
Zurück