private void init_scanner() { try { //Instantiate CoreScanner Class cCoreScannerClass = new CCoreScanner(); //Call Open API short[] scannerTypes = new short[1]; //Scanner Types you are interested in scannerTypes[0] = 1; // 1 for all scanner types short numberOfScannerTypes = 1; // Size of the scannerTypes array int status; // Extended API return code cCoreScannerClass.Open(0, scannerTypes, numberOfScannerTypes, out status); // Subscribe for barcode events in cCoreScannerClass cCoreScannerClass.BarcodeEvent += new _ICoreScannerEvents_BarcodeEventEventHandler(OnBarcodeEvent); // Let's subscribe for events int opcode = 1001; // Method for Subscribe events string outXML; // XML Output string inXML = "<inArgs>" + "<cmdArgs>" + "<arg-int>1</arg-int>" + // Number of events you want to subscribe "<arg-int>1</arg-int>" + // Comma separated event IDs "</cmdArgs>" + "</inArgs>"; cCoreScannerClass.ExecCommand(opcode, ref inXML, out outXML, out status); //Console.WriteLine(outXML); } catch (Exception exp) { Console.WriteLine("Something wrong please check... " + exp.Message); } }
//Scan Engine methods //Open API public void open() { short[] scannerTypes = new short[1]; scannerTypes[0] = 1; short numScanTypes = 1; int status; coreScanner.Open(0, scannerTypes, numScanTypes, out status); }
public void Main() { short[] scannerTypes = new short[1]; // Scanner Types you are interested in scannerTypes[0] = 2; // 1 for all scanner types, 2 for SNAPI mode only short numberOfScannerTypes = 1; // Size of the scannerTypes array cCoreScannerClass.Open(0, scannerTypes, numberOfScannerTypes, out status); ScannerDisable(); IniScanner(); CreateNewBarcodeEvent(); ScannerEnable(); }
/// <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(); }
public void Init() { scanner = new CCoreScanner(); short[] scannerTypes = new short[1]; scannerTypes[0] = 1; short numberOfScannerTypes = 1; int status; int opcode = 1001; string outXML; string inXML = this.XMLIn; scanner.Open(0, scannerTypes, numberOfScannerTypes, out status); scanner.ExecCommand(opcode, ref inXML, out outXML, out status); scanner.BarcodeEvent += Scanner_BarcodeEvent; this.Status = ItemState.Initiated; }
public bool open(short[] scannerTypesArray, out string status) { int zStatus; LogWrapper.logInfo(string.Format("Open()")); if (_IsOpen) { LogWrapper.logWarning(string.Format("Open() Zebra Scanner is already open")); status = "OK"; return(true); } int appHandle = 0; try { short sizeOfScannerTypesArray = 1; scannerTypesArray[0] = SCANNER_TYPES_ALL; zStatus = STATUS_FAIL; _CoreScanner.Open(appHandle, scannerTypesArray, sizeOfScannerTypesArray, out zStatus); if (STATUS_SUCCESS == zStatus) { _IsOpen = true; if (RegisterForEvents(out status) == false) { LogWrapper.logError(string.Format("RegisterForEvents() FAILED: {0}", status)); _IsOpen = false; return(false); } status = "OK"; return(true); } else { status = decodeStatusMessage(zStatus); LogWrapper.logError(string.Format("_CoreScanner.Open() FAILED: {0}", status)); return(false); } } catch (Exception ex) { status = ex.Message; LogWrapper.logError(string.Format("Open() FAILED: {0}", status)); return(false); } }
/// <summary> /// Opens an application instance from the user application or user library. /// </summary> /// <returns>True if opened successfully</returns> public bool Open() { if (_scannerDriver == null) { return(false); } //Call Open API int status; // Extended API return code _scannerDriver.Open(0 /* const: always 0 */, new[] { (short)ScannerType.All } /* array of scanner types */, 1 /* size of prev parameter */, out status); return(((StatusCode)status == StatusCode.Success) || ((StatusCode)status == StatusCode.AlreadyOpened)); }
/// <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(); }
/// <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(); }
// Inicializa el Scanner private void initializeScanner() { try { //Instantiate CoreScanner Class cCoreScannerClass = new CCoreScanner(); //Call Open API short[] scannerTypes = new short[1];//Scanner Types you are interested in scannerTypes[0] = 1; // 1 for all scanner types short numberOfScannerTypes = 1; // Size of the scannerTypes array int status; // Extended API return code cCoreScannerClass.Open(0, scannerTypes, numberOfScannerTypes, out status); // Subscribe for barcode events in cCoreScannerClass cCoreScannerClass.BarcodeEvent += new _ICoreScannerEvents_BarcodeEventEventHandler(OnBarcodeEvent); // Let's subscribe for events int opcode = 1001; // Method for Subscribe events string outXML; // XML Output string inXML = "<inArgs>" + "<cmdArgs>" + "<arg-int>1</arg-int>" + // Number of events you want to subscribe "<arg-int>1</arg-int>" + // Comma separated event IDs "</cmdArgs>" + "</inArgs>"; cCoreScannerClass.ExecCommand(opcode, ref inXML, out outXML, out status); } catch (Exception exp) { MessageBox.Show("Error de conexión con el Scanner... " + exp.Message); } }