0

Ich arbeite an einer einfachen Anwendung für Windows CE zum Scannen von Barcodes. Ich habe Gerät: CP9700 und dieses Dokument: 9700 .NET Programming Es gibt eine einfache Anwendung, die Barcode-Scanner im Anhang II (Seiten 277 und 278) implementiert.Windows CE - RegisterWindowMessage WM_DECODEDATA funktioniert nicht

Ich habe Projekt in VS2008 vorbereitet und Programm aus Anhang II kopiert. Wenn ich es auf meinem Gerät ausführen, kann ich "WM_DECODEDATA" Nachricht nicht abfangen.

Kann mir jemand sagen, was ich falsch mache?

Antwort

1

Überprüfen Sie zuerst den Rückgabewert von RegisterWindowMessage (siehe https://msdn.microsoft.com/en-us/library/windows/desktop/ms644947%28v=vs.85%29.aspx für Details), wenn es 0 ist, müssen Sie Marshal.GetLastWin32Error() (aus System.Runtime.InteropServices) verwenden, um einen Fehlercode zu erhalten. Die Fehlercodes können in winerror.h des installierten WMx SDK nachgeschlagen werden.

Der Grund sampe App nicht Rückgabecodes überprüft: -. ((

Sie sollten den InitReader Rückgabecode prüfen (siehe Seite 22 des Dokuments)

Bitte beachten Sie auch prüfen, ob die DLLs kopiert werden

.
The following happens when decoded data comes about, 
    A decode event broadcasts when the reader decodes data. 
    The thread waits for the decode event, and the decode data can then 
    be obtained. 
    For example, 
    while(true) { 
    dwStatus = WaitForSingleObject(handleEvent,INFINITE) 
     b1 = Reader.ReaderEngineAPI.GetDecodeType(); 
     b1 = Reader.ReaderEngineAPI.GetDecodeData(ref tmp, tmp.length()); 
    } 

Reader DLLs im OS-Verzeichnis an folgenden Pfaden zugänglich ist. Bevor Sie Ihre Anwendungen zu entwickeln, die erforderlichen Dateien kopieren vom mobilen Computer über ActiveSync-Verbindung. \ Windows \ Leser_Ce_Net.dll \ Windows \ ReaderDll_CE.dll