Windows CE-RegisterWindowMessage WM_DECODEDATA没有';不起作用

本文关键字:不起作用 没有 DECODEDATA CE-RegisterWindowMessage WM Windows | 更新日期: 2023-09-27 17:58:35

我正在为windows CE开发扫描条形码的简单应用程序。我有设备:CP9700和这个文档:9700.NET编程附录II(第277和278页)中有一个简单的应用程序,它实现了条形码扫描仪。

我已经在VS2008中准备了项目,并从附录II中复制了程序。当我在设备上运行它时,我无法捕捉到"WM_DECODEDATA"消息。

有人能告诉我我做错了什么吗?

Windows CE-RegisterWindowMessage WM_DECODEDATA没有';不起作用

首先检查RegisterWindowMessage的返回值(请参阅https://msdn.microsoft.com/en-us/library/windows/desktop/ms644947%28v=vs.85%29.aspx详细信息),如果是0,则需要使用Marshal.GetLastWin32Error()(来自System.Runtime.InteropServices)来获取错误代码。可以在已安装的WMx SDK的winerror.h中查找错误代码。

基本的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