Попробуйте установить Datalogic SDK 2_0_0_0
Вы можете скачать его с сайта Datalogic .
А затем добавить ссылку на API данных:
C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE\Datalogic.API.dll
Теперь вы можете использовать API следующим образом:
В вашей декларации формы:
private DecodeEvent dcdEvent;
private DecodeHandle hDcd;
В событии загрузки формы:
// Attempt to load a handle to the decoder.
try
{
hDcd = new DecodeHandle(DecodeDeviceCap.Exists | DecodeDeviceCap.Barcode);
}
catch(DecodeException)
{
MessageBox.Show("Exception loading barcode decoder.", "Decoder Error");
return;
}
// Now that we've got a connection to a barcode reading device, assign a
// method for the DcdEvent. A recurring request is used so that we will
// continue to get barcode data until our dialog is closed.
DecodeRequest reqType = (DecodeRequest)1 | DecodeRequest.PostRecurring;
// Initialize all events possible
//dcdEvent = new DecodeEvent(hDcd, reqType);
dcdEvent = new DecodeEvent(hDcd, reqType, this);
dcdEvent.Scanned += new DecodeScanned(dcdEvent_Scanned);
А это слушатель вашего события:
private void dcdEvent_Scanned(object sender, DecodeEventArgs e)
{
CodeId cID = CodeId.NoData;
string dcdData = string.Empty;
// Obtain the string and code id.
try
{
dcdData = hDcd.ReadString(e.RequestID, ref cID);
}
catch(Exception)
{
MessageBox.Show("Error reading string!");
return;
}
string result = "Barcode Text: " + dcdData;
result +=" AND Barcode Code Id : " + cID.ToString();
MessageBox.Show(result);
}
НА событие закрытия формы:
if(dcdEvent.IsListening)
{
dcdEvent.StopScanListener();
}
if (hDcd != null)
{
hDcd.Dispose();
}