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"消息。
有人能告诉我我做错了什么吗?
首先检查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