public void Close() { if (_scannerDriver == null) { return; } int status; UnRegisterForEvents(EventType.Barcode, EventType.Pnp, EventType.Image, EventType.Other, EventType.Rmd, EventType.Video); _scannerDriver.Close(0, out status); }
/// <summary> /// Initialize/Open/Close CoreScanner /// </summary> /// <param name="args"></param> static void Main(string[] args) { // Initialize CoreScanner COM object CoreScanner.CCoreScanner coreScannerObject = new CCoreScanner(); int appHandle = 0; const short NumberOfScannerTypes = 1; short[] scannerTypes = new short[NumberOfScannerTypes]; scannerTypes[0] = (short)ScannerType.All; // All scanner types int status = -1; try { // Open CoreScanner COM Object coreScannerObject.Open(appHandle, // Application handle scannerTypes, // Array of scanner types NumberOfScannerTypes, // Length of scanner types array out status); // Command execution success/failure return status if (status == (int)Status.Success) { Console.WriteLine("CoreScanner Open() - Success"); } else { Console.WriteLine("CoreScanner Open() - Failed. Error Code : " + status); } // Send CoreScanner commands .. // Close CoreScanner COM Object coreScannerObject.Close(appHandle, // Application handle out status); // Command execution success/failure return status if (status == (int)Status.Success) { Console.WriteLine("CoreScanner Close() - Success"); } else { Console.WriteLine("CoreScanner Close() - Failed. Error Code : " + status); } } catch (Exception exception) { Console.WriteLine("Exception : " + exception.ToString()); } Console.WriteLine("Press any key to exit."); Console.ReadKey(); }
/// <summary> /// Get connected scanners using CoreScanner /// </summary> /// <param name="args"></param> static void Main(string[] args) { // Initialize CoreScanner COM object CoreScanner.CCoreScanner coreScannerObject = new CCoreScanner(); int appHandle = 0; const short NumberOfScannerTypes = 1; short[] scannerTypes = new short[NumberOfScannerTypes]; scannerTypes[0] = (short)ScannerType.All; // All scanner types int status = -1; try { // Open CoreScanner COM Object coreScannerObject.Open(appHandle, // Application handle scannerTypes, // Array of scanner types NumberOfScannerTypes, // Length of scanner types array out status); // Command execution success/failure return status if (status == (int)Status.Success) { Console.WriteLine("CoreScanner Open() - Success"); short numOfScanners = 0; string outXml = ""; int[] scannerIdList = new int[Constant.MaxNumDevices]; // Get connected scanners coreScannerObject.GetScanners(out numOfScanners, // Returns number of scanners discovered scannerIdList, // Returns array of connected scanner ids out outXml, // Output xml containing discovered scanners information out status); // Command execution success/failure return status if (status == (int)Status.Success) { Console.WriteLine("CoreScanner GetScanners()- Success"); Console.WriteLine(" Total Scanners : " + numOfScanners); string scannerIds = ""; Array.Resize(ref scannerIdList, numOfScanners); scannerIds = String.Join(", ", scannerIdList); Console.WriteLine(" Scanner IDs :" + scannerIds); Console.WriteLine(" Out xml : " + Environment.NewLine + outXml); } else { Console.WriteLine("CoreScanner GetScanner() - Failed. Error Code : " + status); } } else { Console.WriteLine("CoreScanner Open() - Failed. Error Code : " + status); } // Close CoreScanner COM Object coreScannerObject.Close(appHandle, // Application handle out status); // Command execution success/failure return status if (status == (int)Status.Success) { Console.WriteLine("CoreScanner Close() - Success"); } else { Console.WriteLine("CoreScanner Close() - Failed. Error Code : " + status); } } catch (Exception exception) { Console.WriteLine("Exception : " + exception.ToString()); } Console.WriteLine("Press any key to exit."); Console.ReadKey(); }
public void Disconnect() { cCoreScannerClass.Close(0, out status); }
/// <summary> /// Trigger scanner beep/LED using CoreScanner /// </summary> /// <param name="args"></param> static void Main(string[] args) { // Initialize CoreScanner COM object CoreScanner.CCoreScanner coreScannerObject = new CCoreScanner(); int appHandle = 0; const short NumberOfScannerTypes = 1; short[] scannerTypes = new short[NumberOfScannerTypes]; scannerTypes[0] = (short)ScannerType.All; // All scanner types int status = -1; int currentScannerId = 1; try { // Open CoreScanner COM Object coreScannerObject.Open(appHandle, // Application handle scannerTypes, // Array of scanner types NumberOfScannerTypes, // Length of scanner types array out status); // Command execution success/failure return status if (status == (int)Status.Success) { Console.WriteLine("CoreScanner Open() - Success"); short numOfScanners = 0; string outXml = ""; int[] scannerIdList = new int[Constant.MaxNumDevices]; // Get connected scanners coreScannerObject.GetScanners(out numOfScanners, // Returns number of scanners discovered scannerIdList, // Returns array of connected scanner ids out outXml, // Output xml containing discovered scanners information out status); // Command execution success/failure return status if (status == (int)Status.Success) { Console.WriteLine("CoreScanner GetScanners()- Success"); Console.WriteLine(" Total Scanners : " + numOfScanners); string scannerIds = ""; Array.Resize(ref scannerIdList, numOfScanners); scannerIds = String.Join(", ", scannerIdList); Console.WriteLine(" Scanner IDs :" + scannerIds); Console.WriteLine(" Out xml : " + Environment.NewLine + outXml); if (numOfScanners > 0) { // Use first scanner currentScannerId = scannerIdList[0]; // Trigger Scanner Beep Console.WriteLine("Beep scanner (one short high) using setAction"); status = -1; int opCode = (int)Opcode.SetAction; // Beep: one short high - input xml string inXml = "<inArgs>" + "<scannerID>" + currentScannerId.ToString() + "</scannerID>" + "<cmdArgs>" + "<arg-int>" + (int)BeepCode.OneShortHigh + // Specify beeper code "</arg-int>" + "</cmdArgs>" + "</inArgs>"; coreScannerObject.ExecCommand(opCode, // Opcode: for Scanner Beep (SET_ACTION) ref inXml, // Input XML out outXml, // Output XML out status); // Command execution success/failure return status if (status == (int)Status.Success) { Console.WriteLine("Scanner Beep() scanner ID:[" + currentScannerId.ToString() + "] - Success"); } else { Console.WriteLine("Scanner Beep() scanner ID:[" + currentScannerId.ToString() + "] - Failed. Error Code : " + status); } Console.WriteLine(); Console.WriteLine("Trigger scanner LED3 (Red) on using setAction"); opCode = (int)Opcode.SetAction; // Trigger scanner LED3(Red) on - input xml inXml = "<inArgs>" + "<scannerID>" + currentScannerId.ToString() + "</scannerID>" + "<cmdArgs>" + "<arg-int>" + (int)LEDCode.Led3On + // Specify LED code to switch on/off "</arg-int>" + "</cmdArgs>" + "</inArgs>"; // Trigger scanner LED on coreScannerObject.ExecCommand(opCode, // Opcode: for Scanner LED on (SET_ACTION) ref inXml, // Input XML out outXml, // Output XML out status); // Command execution success/failure return status if (status == (int)Status.Success) { Console.WriteLine("Scanner LED on, scanner ID:[" + currentScannerId.ToString() + "] - Success"); } else { Console.WriteLine("Scanner LED on, scanner ID:[" + currentScannerId.ToString() + "] - Failed. Error Code : " + status); } Console.WriteLine("LED3 (red) switched on, press any key to continue."); while (!Console.KeyAvailable) { Thread.Sleep(10); } Console.ReadKey(); Console.WriteLine(); Console.WriteLine("Trigger scanner LED3 (Red) off using setAction"); opCode = (int)Opcode.SetAction; // Trigger scanner LED3 (Red) off - input xml inXml = "<inArgs>" + "<scannerID>" + currentScannerId.ToString() + "</scannerID>" + "<cmdArgs>" + "<arg-int>" + (int)LEDCode.Led3Off + // Specify LED code to switch on/off "</arg-int>" + "</cmdArgs>" + "</inArgs>"; // Trigger scanner LED off coreScannerObject.ExecCommand(opCode, // Opcode: for Scanner LED on (SET_ACTION) ref inXml, // Input XML out outXml, // Output XML out status); // Command execution success/failure return status if (status == (int)Status.Success) { Console.WriteLine("Scanner LED off, scanner ID:[" + currentScannerId.ToString() + "] - Success"); } else { Console.WriteLine("Scanner LED off, scanner ID:[" + currentScannerId.ToString() + "] - Failed. Error Code : " + status); } Console.WriteLine("LED3 (red) switched off, press any key to continue."); } else { Console.WriteLine("CoreScanner GetScanner() - No scanners found"); } } else { Console.WriteLine("CoreScanner GetScanner() - Failed. Error Code : " + status); } } else { Console.WriteLine("CoreScanner Open() - Failed. Error Code : " + status); } // Close CoreScanner COM Object coreScannerObject.Close(appHandle, // Application handle out status); // Command execution success/failure return status if (status == (int)Status.Success) { Console.WriteLine("CoreScanner Close() - Success"); } else { Console.WriteLine("CoreScanner Close() - Failed. Error Code : " + status); } } catch (Exception exception) { Console.WriteLine("Exception : " + exception.ToString()); } Console.WriteLine("Press any key to exit."); Console.ReadKey(); }
/// <summary> /// Register/Unregister for events using CoreScanner /// </summary> /// <param name="args"></param> static void Main(string[] args) { // Initialize CoreScanner COM object CoreScanner.CCoreScanner coreScannerObject = new CCoreScanner(); int appHandle = 0; const short NumberOfScannerTypes = 1; short[] scannerTypes = new short[NumberOfScannerTypes]; scannerTypes[0] = (short)ScannerType.All; // All scanner types int status = -1; try { // Open CoreScanner COM Object coreScannerObject.Open(appHandle, // Application handle scannerTypes, // Array of scanner types NumberOfScannerTypes, // Length of scanner types array out status); // Command execution success/failure return status if (status == (int)Status.Success) { Console.WriteLine("CoreScanner Open() - Success"); int eventIdCount = 1; // Number of events to register (only barcode events) int[] eventIdList = new int[eventIdCount]; // Register for barcode events only eventIdList[0] = (int)EventType.Barcode; string eventIds = String.Join(",", eventIdList); string inXml = "<inArgs>" + "<cmdArgs>" + "<arg-int>" + eventIdCount + "</arg-int>" + // Number of events to register "<arg-int>" + eventIds + "</arg-int>" + // Event id list of events to register for "</cmdArgs>" + "</inArgs>"; int opCode = (int)Opcode.RegisterForEvents; string outXml = ""; status = -1; // Call register for events coreScannerObject.ExecCommand(opCode, // Opcode: Register for events ref inXml, // Input XML out outXml, // Output XML out status); // Command execution success/failure return status if (status == (int)Status.Success) { Console.WriteLine("CoreScanner RegisterForEvents() - Success"); } else { Console.WriteLine("CoreScanner RegisterForEvents() - Failed. Error Code : " + status); } // Add barcode data event handler coreScannerObject.BarcodeEvent += CoreScannerObject_BarcodeEvent; Console.WriteLine("Scan a barcode now, press " + "any key to exit."); while (!Console.KeyAvailable) { Thread.Sleep(10); } status = -1; opCode = (int)Opcode.UnregisterForEvents; // Call unregister for events coreScannerObject.ExecCommand(opCode, // Opcode: Unregister for events ref inXml, // Input XML out outXml, // Output XML out status); // Command execution success/failure return status if (status == (int)Status.Success) { Console.WriteLine("CoreScanner UnregisterForEvents() - Success"); } else { Console.WriteLine("CoreScanner UnregisterForEvents() - Failed. Error Code : " + status); } } else { Console.WriteLine("CoreScanner Open() - Failed. Error Code : " + status); } // Close CoreScanner COM Object coreScannerObject.Close(appHandle, // Application handle out status); // Command execution success/failure return status if (status == (int)Status.Success) { Console.WriteLine("CoreScanner Close() - Success"); } else { Console.WriteLine("CoreScanner Close() - Failed. Error Code : " + status); } } catch (Exception exception) { Console.WriteLine("Exception : " + exception.ToString()); } Console.WriteLine("Press any key to exit."); Console.ReadKey(); }
/// <summary> /// Enable/Disable scanner using CoreScanner /// </summary> /// <param name="args"></param> static void Main(string[] args) { // Initialize CoreScanner COM object CoreScanner.CCoreScanner coreScannerObject = new CCoreScanner(); int appHandle = 0; const short NumberOfScannerTypes = 1; short[] scannerTypes = new short[NumberOfScannerTypes]; scannerTypes[0] = (short)ScannerType.All; // All scanner types int status = -1; try { // Open CoreScanner COM Object coreScannerObject.Open(appHandle, // Application handle scannerTypes, // Array of scanner types NumberOfScannerTypes, // Length of scanner types array out status); // Command execution success/failure return status if (status == (int)Status.Success) { Console.WriteLine("CoreScanner Open() - Success"); short numOfScanners = 0; string outXml = ""; int[] scannerIdList = new int[Constant.MaxNumDevices]; // Get connected scanners coreScannerObject.GetScanners(out numOfScanners, // Returns number of scanners discovered scannerIdList, // Returns array of connected scanner ids out outXml, // Output xml containing discovered scanners information out status); // Command execution success/failure return status if (status == (int)Status.Success) { Console.WriteLine("CoreScanner GetScanners()- Success"); Console.WriteLine(" Total Scanners : " + numOfScanners); string scannerIds = ""; Array.Resize(ref scannerIdList, numOfScanners); scannerIds = String.Join(", ", scannerIdList); Console.WriteLine(" Scanner IDs :" + scannerIds); Console.WriteLine(" Out xml : " + Environment.NewLine + outXml); Console.WriteLine("Disabling all scanners"); foreach (int scannerId in scannerIdList) { status = -1; int opCode = (int)Opcode.DeviceScanDisable; string inXml = "<inArgs>" + "<scannerID>" + scannerId.ToString() + "</scannerID>" + "</inArgs>"; // Disable Scanner coreScannerObject.ExecCommand(opCode, // Opcode: Scanner Disable ref inXml, // Input XML out outXml, // Output XML out status); // Command execution success/failure return status if (status == (int)Status.Success) { Console.WriteLine("CoreScanner ScannerDisable() scanner ID:[" + scannerId.ToString() + "] - Success"); } else { Console.WriteLine("CoreScanner ScannerDisable() scanner ID:[" + scannerId.ToString() + "] - Failed. Error Code : " + status); } } Console.WriteLine("All scanners disabled, press any key to continue."); while (!Console.KeyAvailable) { Thread.Sleep(10); } Console.ReadKey(); Console.WriteLine("Enabling all scanners"); foreach (int scannerId in scannerIdList) { status = -1; int opCode = (int)Opcode.DeviceScanEnable; string inXml = "<inArgs>" + "<scannerID>" + scannerId.ToString() + "</scannerID>" + "</inArgs>"; // Enable Scanner coreScannerObject.ExecCommand(opCode, // Opcode: Scanner Enable ref inXml, // Input XML out outXml, // Output XML out status); // Command execution success/failure return status if (status == (int)Status.Success) { Console.WriteLine("CoreScanner ScannerEnable() scanner ID:[" + scannerId.ToString() + "] - Success"); } else { Console.WriteLine("CoreScanner ScannerEnable() scanner ID:[" + scannerId.ToString() + "] - Failed. Error Code : " + status); } } Console.WriteLine("All scanners enabled, press any key to continue."); while (!Console.KeyAvailable) { Thread.Sleep(10); } Console.ReadKey(); } else { Console.WriteLine("CoreScanner GetScanner() - Failed. Error Code : " + status); } } else { Console.WriteLine("CoreScanner Open() - Failed. Error Code : " + status); } // Close CoreScanner COM Object coreScannerObject.Close(appHandle, // Application handle out status); // Command execution success/failure return status if (status == (int)Status.Success) { Console.WriteLine("CoreScanner Close() - Success"); } else { Console.WriteLine("CoreScanner Close() - Failed. Error Code : " + status); } } catch (Exception exception) { Console.WriteLine("Exception : " + exception.ToString()); } Console.WriteLine("Press any key to exit."); Console.ReadKey(); }