我正在开发一种使用条形码扫描仪(Motorola MC75A)的移动应用程序.我安装了EMDK for .NET v2.5.
我使用库Symbol.dll和Symbol.barcode2.dll来使用条形码扫描器.但是当我使用Windows Mobile 6.5在模拟器设备上运行代码时出现错误.
码:
Barcode2 myBarcode2 = null;
Device MyDevice = SelectDevice.Select(
"Barcode",Symbol.Barcode2.Devices.SupportedDevices);// Exception here
Run Code Online (Sandbox Code Playgroud)
例外:
{"Can't find PInvoke DLL 'SCNAPI32.dll'."}
Run Code Online (Sandbox Code Playgroud)
我需要其他模拟器或其他东西吗?
谢谢
我正在尝试使用符号设备的EMDK附带的Symbol.WPAN.Bluetooth.
有没有人碰巧有一个传输数据的工作示例?
Symbol的示例只是将设备配对.(他们显然认为在个人区域网络示例中并不真正需要传输数据.)
无论如何,我知道这是一个很长的镜头,但如果有人让这个工作,我很乐意看到一些代码.
这就是我尝试过的.我有一个设备按下按钮1和另一个设备按下按钮2.读取值始终为零长度字节数组.
using System.Text;
using System.Windows.Forms;
using Symbol.WPAN;
using Symbol.WPAN.Bluetooth;
namespace SmartDeviceProject1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Bluetooth bluetooth = new Bluetooth();
if (bluetooth.IsEnabled != true)
{
bluetooth.Enable();
bluetooth.RadioMode = BTH_RADIO_MODE.BTH_DISCOVERABLE_AND_CONNECTABLE;
}
RemoteDevice connectedDevice = null;
foreach (RemoteDevice remoteDevice in MakeEnumerable(bluetooth.RemoteDevices))
{
if ((remoteDevice.Name == "WM_Dan") && (remoteDevice.IsPaired == false))
{
remoteDevice.Pair();
connectedDevice = remoteDevice;
}
}
string test;
test = "Testing …Run Code Online (Sandbox Code Playgroud) 我希望将EDMK 2.6库中的Barcode2类集成到我们现有的条形码扫描界面中.
我已将示例代码连接到我们的接口方法,StartScan()并始终得到E_SCN_READTIMEOUT结果,即使代码似乎响应扫描.(断点at if (scan.Result == Results.SUCCESS)响应扫描而被击中
public void StartScan()
{
if (!barcode.IsScanPending)
{
ScanData scan = barcode.ScanWait(2000); // 2 second timeout
if (scan.Result == Results.SUCCESS)
{
if (scan.IsText)
{
textbox1.Text = scan.Text;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
结果总是如此E_SCN_READTIMEOUT,我怀疑这可能与设备上运行的DataWedge 3.4发生冲突,但扫描仪和触发器的功能似乎依赖于它.
使用DataWedge将条形码扫描到剪贴板不是我们的选择,有没有办法让数据库在DataWedge下运行(假设导致读取超时)?
我正在开发摩托罗拉MC9190 RFID手持阅读器的应用程序.
我需要在UHF RFID标签中读取和写入人类可读的信息.所以我决定用ASCII字符写信息.
在进行一些研究时,我发现可以在RFID标签存储器中写入ASCII字符,但它支持较少的字符.直到它少于10个字符我才会介意.
引用:
http://blog.atlasrfidstore.com/types-of-memory-in-gen-2-uhf-rfid-tags
现在,我有点困惑如何直接在阅读器中编写和读取ASCII字符.
这是用十六进制字符写的代码.
private void writeButton_Click(object sender, EventArgs e)
{
string dataToWrite="ABCDEF9876";
Symbol.RFID3.TagAccess.WriteAccessParams m_WriteParams;
m_WriteParams.AccessPassword = 0;
m_WriteParams.MemoryBank = MEMORY_BANK.MEMORY_BANK_USER;
m_WriteParams.ByteOffset = 0;
m_WriteParams.WriteDataLength = 6;
byte[] writeData = new byte[m_WriteParams.WriteDataLength];
for (int index = 0; index < m_WriteParams.WriteDataLength; index += 2)
{
writeData[index] = byte.Parse(dataToWrite.Substring(index * 2, 2),
System.Globalization.NumberStyles.HexNumber);
writeData[index + 1] = byte.Parse(dataToWrite.Substring((index + 1) * 2, 2),
System.Globalization.NumberStyles.HexNumber);
}
m_WriteParams.WriteData = writeData;
string m_SelectedTagID = "0123456789ABCDEF"; //for example
RunWriteOperation(m_SelectedTagID,m_WriteParams);
} …Run Code Online (Sandbox Code Playgroud) 我想用Motorola emdk 2.6版解码GS1-128(表格.ECC/EAN128)条码.我使用ES400作为测试设备.我只以原生文本格式获取数据.
例如(01)25416898545645(17)080600(30)0306180021返回012541689854564517080600300306180021.
我没有得到FNC1(ascii102)或GS(ascii 29)字符.我尝试了没有结果的"RawData".
我怎么能处理这个?