0

Я работаю над простым приложением для Windows CE для сканирования штрих-кодов. У меня есть устройство: CP9700 и этот документ: 9700 .NET Programming Существует простое приложение, которое реализует сканер штрих-кода в Приложении II (стр. 277 и 278).Windows CE - RegisterWindowMessage WM_DECODEDATA не работает

Я подготовил проект в VS2008 и скопировал программу из приложения II. Когда я запускаю его на своем устройстве, я не могу получить сообщение «WM_DECODEDATA».

Может ли кто-нибудь сказать мне, что я делаю неправильно?

ответ

1

Сначала проверьте возвращаемое значение RegisterWindowMessage (см. https://msdn.microsoft.com/en-us/library/windows/desktop/ms644947%28v=vs.85%29.aspx), если это 0, вам нужно использовать Marshal.GetLastWin32Error() (из System.Runtime.InteropServices), чтобы получить код ошибки. Коды ошибок можно найти в winerror.h из установленного SDK WMx.

Основное приложение SAMPE не проверяет коды возврата: -. ((

вы должны проверить код возврата InitReader (см 22 в док)

Пожалуйста, проверьте, если библиотеки DLL копируются .

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()); 
    } 

Читатель библиотеки DLL доступны в каталоге ОС на следующих путей. Прежде чем разрабатывать приложения, копировать необходимые файлы с мобильного компьютера через соединение ActiveSync. \ Windows \ Reader_Ce_Net.dll \ Windows \ ReaderDll_CE.dll