ClaimedBarcodeScanner
ClaimedBarcodeScanner
ClaimedBarcodeScanner
ClaimedBarcodeScanner
Class
Definition
Represents the claimed barcode scanner.
public : sealed class ClaimedBarcodeScanner : IClaimedBarcodeScanner, IClaimedBarcodeScanner1, IClaimedBarcodeScanner2, IClosablepublic sealed class ClaimedBarcodeScanner : IClaimedBarcodeScanner, IClaimedBarcodeScanner1, IClaimedBarcodeScanner2, IDisposablePublic NotInheritable Class ClaimedBarcodeScanner Implements IClaimedBarcodeScanner, IClaimedBarcodeScanner1, IClaimedBarcodeScanner2, IDisposable// You can use this class in JavaScript.
- Attributes
| Device family |
Windows 10 (introduced v10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v1)
|
Remarks
The object is created when ClaimScannerAsync method completes.
Properties
DeviceId DeviceId DeviceId DeviceId
Gets the DeviceInformation.Id of the claimed barcode scanner.
public : PlatForm::String DeviceId { get; }public string DeviceId { get; }Public ReadOnly Property DeviceId As string// You can use this property in JavaScript.
- Value
- PlatForm::String string string string
The DeviceInformation.Id of the claimed barcode scanner.
IsDecodeDataEnabled IsDecodeDataEnabled IsDecodeDataEnabled IsDecodeDataEnabled
Gets or sets a Boolean value that indicates whether to provide the decoded data to the service object.
public : PlatForm::Boolean IsDecodeDataEnabled { get; set; }public bool IsDecodeDataEnabled { get; set; }Public ReadWrite Property IsDecodeDataEnabled As bool// You can use this property in JavaScript.
- Value
- PlatForm::Boolean bool bool bool
Set to true if decoded data is provided to the application; otherwise, false.
IsDisabledOnDataReceived IsDisabledOnDataReceived IsDisabledOnDataReceived IsDisabledOnDataReceived
Gets or sets a Boolean value that indicates whether the barcode scanner is disabled after receiving the data.
public : PlatForm::Boolean IsDisabledOnDataReceived { get; set; }public bool IsDisabledOnDataReceived { get; set; }Public ReadWrite Property IsDisabledOnDataReceived As bool// You can use this property in JavaScript.
- Value
- PlatForm::Boolean bool bool bool
Set to true if the application wants to receive and process only one input or only one input at a time.
Remarks
When IsDisabledOnDataReceived is true, the application can only received one data at a time and the device is disabled after the DataReceived event. The application must call EnableAsync to enable the device to received data.
IsEnabled IsEnabled IsEnabled IsEnabled
Indicates whether the barcode scanner can receive DataReceived events.
public : PlatForm::Boolean IsEnabled { get; }public bool IsEnabled { get; }Public ReadOnly Property IsEnabled As bool// You can use this property in JavaScript.
- Value
- PlatForm::Boolean bool bool bool
True if the device can receive DataReceived events; otherwise, false.
Methods
Close() Close() Close() Close()
Releases exclusive claim to the barcode scanner. For C++ and JavaScript, use Close(). For C# and Visual Basic, use Dispose().
public : void Close()This member is not implemented in C#This member is not implemented in VB.Net// You can use this method in JavaScript.
Remarks
Close methods aren't callable through Visual C++ component extensions (C++/CX) on Windows Runtime class instances where the class implemented IClosable. Instead, Visual C++ component extensions (C++/CX) code for runtime classes should call the destructor or set the last reference to null.
DisableAsync() DisableAsync() DisableAsync() DisableAsync()
Puts the barcode scanner into a state where it cannot receive DataReceived events.
public : IAsyncAction DisableAsync()public IAsyncAction DisableAsync()Public Function DisableAsync() As IAsyncAction// You can use this method in JavaScript.
No object or value is returned when this method completes.
Dispose() Dispose() Dispose() Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
This member is not implemented in C++void Dispose()Sub Disposevoid Dispose()
EnableAsync() EnableAsync() EnableAsync() EnableAsync()
Gets the barcode scanner into a ready state for DataReceived events.
public : IAsyncAction EnableAsync()public IAsyncAction EnableAsync()Public Function EnableAsync() As IAsyncAction// You can use this method in JavaScript.
No object or value is returned when this method completes.
Examples
// Enables the barcode scanner to receive data.
task<void> Scenario1::EnableScanner()
{
return create_task(claimedScanner->EnableAsync()).then([this](void)
{
// UpdateOutput("Barcode scanner enabled successfully.");
});
}
// Enables the barcode scanner to receive data
private async Task<bool> EnableScanner()
{
if (claimedScanner == null)
{
return false;
}
else
{
await claimedScanner.EnableAsync();
return true;
}
}
//Creates the barcode scanner, claims it for exclusive use, adds a data event listener,
//and enables it to receive data.
var _scanner = null;
var _claimedScanner = null;
function startReceivingData() {
Windows.Devices.PointOfService.BarcodeScanner.getDefaultAsync().then(function (scanner) {
if (scanner !== null) {
_scanner = scanner;
scanner.claimScannerAsync().done(function (claimedScanner) {
if (claimedScanner !== null) {
_claimedScanner = claimedScanner;
claimedScanner.isDecodeDataEnabled = true;
claimedScanner.addEventListener("datareceived", onDataReceived);
claimedScanner.enableAsync().done(function () {
document.getElementById("btnStartReading").disabled = true;
document.getElementById("btnEndReading").disabled = false;
}, function error(e) {
// "Failed to enable scanner."
});
} else {
//"Could not claim the scanner."
}
}, function error(e) {
//"Could not claim the scanner."
});
} else {
//"Barcode scanner not found. Connect a barcode scanner."
}
}, function error(e) {
//"Asynchronous method failed."
});
}
GetSymbologyAttributesAsync(UInt32) GetSymbologyAttributesAsync(UInt32) GetSymbologyAttributesAsync(UInt32) GetSymbologyAttributesAsync(UInt32)
Gets the attributes of the specified barcode symbology.
public : IAsyncOperation<BarcodeSymbologyAttributes> GetSymbologyAttributesAsync(unsigned int barcodeSymbology)public IAsyncOperation<BarcodeSymbologyAttributes> GetSymbologyAttributesAsync(UInt32 barcodeSymbology)Public Function GetSymbologyAttributesAsync(barcodeSymbology As UInt32) As IAsyncOperation( Of BarcodeSymbologyAttributes )// You can use this method in JavaScript.
- barcodeSymbology
- unsigned int UInt32 UInt32 UInt32
The barcode symbology.
A BarcodeSymbologyAttributes object, containing the attributes of the specified barcode symbology.
| Device family |
Windows 10 Creators Update (introduced v10.0.15063.0)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v4)
|
ResetStatisticsAsync(IIterable)
ResetStatisticsAsync(IIterable)
ResetStatisticsAsync(IIterable)
ResetStatisticsAsync(IIterable)
Resets the specified statistics to zero for all statistics that can be reset.
public : IAsyncAction ResetStatisticsAsync(IIterable<PlatForm::String> statisticsCategories)public IAsyncAction ResetStatisticsAsync(IEnumerable<String> statisticsCategories)Public Function ResetStatisticsAsync(statisticsCategories As IEnumerable<String>) As IAsyncAction// You can use this method in JavaScript.
- statisticsCategories
- IIterable<PlatForm::String> IEnumerable<String> IEnumerable<String> IEnumerable<String>
The list of names of the statistics to reset.
- An empty string ("") retrieves all statistics.
- "U_" retrieves all UnifiedPOS defined statistics.
- "M_" retrieves all manufacturer defined statistics.
- "name1" and/or "name2" retrieves specific named statistics as defined by the UnifiedPOS or manufacturer.
- Any combination of individual and groups names ("name3", "U_", "M_").
No object or value is returned by this method when it completes.
RetainDevice() RetainDevice() RetainDevice() RetainDevice()
Retains exclusive claim to the barcode scanner.
public : void RetainDevice()public void RetainDevice()Public Function RetainDevice() As void// You can use this method in JavaScript.
Remarks
When the application receives a request to release its exclusive claim to the barcode scanner, it must call RetainDevice, otherwise it will lose its claim to the device.
- See Also
SetActiveProfileAsync(String) SetActiveProfileAsync(String) SetActiveProfileAsync(String) SetActiveProfileAsync(String)
Sets the active profile on the barcode scanner.
public : IAsyncAction SetActiveProfileAsync(PlatForm::String profile)public IAsyncAction SetActiveProfileAsync(String profile)Public Function SetActiveProfileAsync(profile As String) As IAsyncAction// You can use this method in JavaScript.
- profile
- PlatForm::String String String String
The name of the profile to set on the device.
No object or value is returned when the method completes.
Remarks
The input parameter must match one of the supported profiles. For more information, see GetSupportedProfiles or IsProfileSupported.
Barcode scanners can support a number of features beyond scanning, such as focal length and scan duration. These features are typically exposed through settings or properties and can be as many as 100 on complex devices. The simplify the model of scanner configuration, one or more profiles are exposed to application developers with each profile containing one or more OEM defined settings.
SetActiveSymbologiesAsync(IIterable)
SetActiveSymbologiesAsync(IIterable)
SetActiveSymbologiesAsync(IIterable)
SetActiveSymbologiesAsync(IIterable)
Sets the barcode symbologies for the device to use.
public : IAsyncAction SetActiveSymbologiesAsync(IIterable<unsigned int> symbologies)public IAsyncAction SetActiveSymbologiesAsync(IEnumerable<UInt32> symbologies)Public Function SetActiveSymbologiesAsync(symbologies As IEnumerable<UInt32>) As IAsyncAction// You can use this method in JavaScript.
- symbologies
- IIterable<unsigned int> IEnumerable<UInt32> IEnumerable<UInt32> IEnumerable<UInt32>
The specific symbologies to use.
No object or value is returned when this method completes.
SetSymbologyAttributesAsync(UInt32, BarcodeSymbologyAttributes) SetSymbologyAttributesAsync(UInt32, BarcodeSymbologyAttributes) SetSymbologyAttributesAsync(UInt32, BarcodeSymbologyAttributes) SetSymbologyAttributesAsync(UInt32, BarcodeSymbologyAttributes)
Sets the attributes of the barcode symbology used by the claimed barcode scanner.
public : IAsyncOperation<PlatForm::Boolean> SetSymbologyAttributesAsync(unsigned int barcodeSymbology, BarcodeSymbologyAttributes attributes)public IAsyncOperation<bool> SetSymbologyAttributesAsync(UInt32 barcodeSymbology, BarcodeSymbologyAttributes attributes)Public Function SetSymbologyAttributesAsync(barcodeSymbology As UInt32, attributes As BarcodeSymbologyAttributes) As IAsyncOperation( Of bool )// You can use this method in JavaScript.
- barcodeSymbology
- unsigned int UInt32 UInt32 UInt32
The barcode symbology.
- attributes
- BarcodeSymbologyAttributes BarcodeSymbologyAttributes BarcodeSymbologyAttributes BarcodeSymbologyAttributes
The barcode symbology attributes.
True if the barcode symbology attributes were successfully set; otherwise, false.
| Device family |
Windows 10 Creators Update (introduced v10.0.15063.0)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v4)
|
StartSoftwareTriggerAsync() StartSoftwareTriggerAsync() StartSoftwareTriggerAsync() StartSoftwareTriggerAsync()
Used to signal the barcode scanner to start scanning. A session is active until StopSoftwareTriggerAsync is invoked, or until the scanner ends the session on its own.
public : IAsyncAction StartSoftwareTriggerAsync()public IAsyncAction StartSoftwareTriggerAsync()Public Function StartSoftwareTriggerAsync() As IAsyncAction// You can use this method in JavaScript.
No object or value is returned when this method completes.
StopSoftwareTriggerAsync() StopSoftwareTriggerAsync() StopSoftwareTriggerAsync() StopSoftwareTriggerAsync()
Used to stop a session that was started with StartSoftwareTriggerAsync. No error is raised if this is called when no session is active.
public : IAsyncAction StopSoftwareTriggerAsync()public IAsyncAction StopSoftwareTriggerAsync()Public Function StopSoftwareTriggerAsync() As IAsyncAction// You can use this method in JavaScript.
No object or value is returned when this method completes.
UpdateStatisticsAsync(IIterable<>>)
UpdateStatisticsAsync(IIterable<>>)
UpdateStatisticsAsync(IIterable<>>)
UpdateStatisticsAsync(IIterable<>>)
Updates the specified statistics.
public : IAsyncAction UpdateStatisticsAsync(IIterable<IKeyValuePair<PlatForm::String, PlatForm::String>> statistics)public IAsyncAction UpdateStatisticsAsync(IEnumerable<KeyValuePair<String, String>> statistics)Public Function UpdateStatisticsAsync(statistics As IEnumerable<KeyValuePair<String, String>>) As IAsyncAction// You can use this method in JavaScript.
- statistics
- IIterable<IKeyValuePair<PlatForm::String, PlatForm::String>> IEnumerable<KeyValuePair<String, String>> IEnumerable<KeyValuePair<String, String>> IEnumerable<KeyValuePair<String, String>>
The list of key-value pairs of statistics to update.
- An empty string ("", "value1") sets all statistics that can be set to value1.
- "U_", "value2" sets all UnifiedPOS defined statistics that can be set to value2.
- "M_", "value3" sets all manufacturer defined statistics that can be set to value3.
- "name1", "value4" sets specific named statistics as defined by the UnifiedPOS or manufacturer to value4.
No object or value is returned by this method when it completes.
Events
DataReceived DataReceived DataReceived DataReceived
Occurs when the device scans a barcode.
public : event TypedEventHandler DataReceived<ClaimedBarcodeScanner, BarcodeScannerDataReceivedEventArgs>public event TypedEventHandler DataReceived<ClaimedBarcodeScanner, BarcodeScannerDataReceivedEventArgs>Public Event DataReceived<ClaimedBarcodeScanner, BarcodeScannerDataReceivedEventArgs>// You can use this event in JavaScript.
Examples
The following example shows how to setup the barcode scanner to receive data after a scanning event.
void Scenario1::ScenarioStartScanButton_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
// Create the barcode scanner.
create_task(CreateDefaultScannerObject()).then([this](void)
{
if (scanner != nullptr)
{
// Claim the scanner for exclusive use by your application.
create_task(ClaimScanner()).then([this](void)
{
if (claimedScanner)
{
// Add a release device requested event handler. If this event is not handled,
// another app can claim the barcode scanner.
releaseDeviceRequestedToken = claimedScanner->ReleaseDeviceRequested::add(ref new EventHandler<ClaimedBarcodeScanner^>(this, &Scenario1::OnReleaseDeviceRequested));
/// Add a data receive event handler.
dataReceivedToken = claimedScanner->DataReceived::add(ref new TypedEventHandler<ClaimedBarcodeScanner^, BarcodeScannerDataReceivedEventArgs^>(this, &Scenario1::OnDataReceived));
UpdateOutput("Attached the DataReceived Event handler.");
// Set the app to decode the raw data from the barcode scanner
claimedScanner->IsDecodeDataEnabled = true;
// Enable the scanner.
create_task(EnableScanner()).then([this](void)
{
UpdateOutput("Ready to Scan.");
// Reset the button state
ScenarioEndScanButton->IsEnabled = true;
ScenarioStartScanButton->IsEnabled = false;
});
}
});
}
});
}
private async void ScenarioStartScanButton_Click(object sender, RoutedEventArgs e)
{
// Create the barcode scanner.
if (await CreateDefaultScannerObject())
{
// Claim the scanner for exclusive use by your application.
if (await ClaimScanner())
{
// Add a release device requested event handler. If this event is not handled,
// another app can claim the barcode scanner.
claimedScanner.ReleaseDeviceRequested += claimedScanner_ReleaseDeviceRequested;
// Add a data receive event handler.
claimedScanner.DataReceived += claimedScanner_DataReceived;
UpdateOutput("Attached the DataReceived Event handler.");
// Set the app to decode the raw data from the barcode scanner
claimedScanner.IsDecodeDataEnabled = true;
// Enable the scanner.
if (await EnableScanner())
{
// Reset the button state
ScenarioEndScanButton.IsEnabled = true;
ScenarioStartScanButton.IsEnabled = false;
UpdateOutput("Ready to Scan.");
}
}
}
else
{
UpdateOutput("No Barcode Scanner found");
}
}
void Scenario1::OnDataReceived(Windows::Devices::PointOfService::ClaimedBarcodeScanner ^sender, Windows::Devices::PointOfService::BarcodeScannerDataReceivedEventArgs ^args)
{
// read the data from the buffer and convert to string.
Dispatcher->RunAsync(CoreDispatcherPriority::Normal, ref new DispatchedHandler(
[this,args]()
{
DataReader^ scanDataLabelReader = DataReader::FromBuffer(args->Report->ScanDataLabel);
ScenarioOutputScanDataLabel->Text = scanDataLabelReader->ReadString(args->Report->ScanDataLabel->Length);
DataReader^ scanDataReader = DataReader::FromBuffer(args->Report->ScanData);
ScenarioOutputScanData->Text = scanDataReader->ReadString(args->Report->ScanData->Length);
ScenarioOutputScanDataType->Text = BarcodeSymbologies::GetName(args->Report->ScanDataType);
}));
}
async void claimedScanner_DataReceived(ClaimedBarcodeScanner sender, BarcodeScannerDataReceivedEventArgs args)
{
// update the UI with the data received from the scan.
await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
{
// read the data from the buffer and convert to string.
var scanDataLabelReader = DataReader.FromBuffer(args.Report.ScanDataLabel);
ScenarioOutputScanDataLabel.Text = scanDataLabelReader.ReadString(args.Report.ScanDataLabel.Length);
var scanDataReader = DataReader.FromBuffer(args.Report.ScanData);
ScenarioOutputScanData.Text = scanDataReader.ReadString(args.Report.ScanData.Length);
ScenarioOutputScanDataType.Text = BarcodeSymbologies.GetName(args.Report.ScanDataType);
});
}
//Creates the barcode scanner, claims it for exclusive use, adds a data event listener,
//and enables it to receive data.
var _scanner = null;
var _claimedScanner = null;
function startReceivingData() {
Windows.Devices.PointOfService.BarcodeScanner.getDefaultAsync().then(function (scanner) {
if (scanner !== null) {
_scanner = scanner;
scanner.claimScannerAsync().done(function (claimedScanner) {
if (claimedScanner !== null) {
_claimedScanner = claimedScanner;
claimedScanner.isDecodeDataEnabled = true;
claimedScanner.addEventListener("datareceived", onDataReceived);
claimedScanner.enableAsync().done(function () {
document.getElementById("btnStartReading").disabled = true;
document.getElementById("btnEndReading").disabled = false;
}, function error(e) {
// "Failed to enable scanner."
});
} else {
//"Could not claim the scanner."
}
}, function error(e) {
//"Could not claim the scanner."
});
} else {
//"Barcode scanner not found. Connect a barcode scanner."
}
}, function error(e) {
//"Asynchronous method failed."
});
}
function onDataReceived(args) {
var tempScanLabel = Windows.Storage.Streams.DataReader.fromBuffer(args.report.scanDataLabel).readString(args.report.scanDataLabel.length);
var tempScanData = Windows.Storage.Streams.DataReader.fromBuffer(args.report.scanData).readString(args.report.scanData.length);
var tempScanType = args.report.scanDataType;
WinJS.logAppend("Got data", "status");
document.getElementById("scanDataId").textContent = tempScanType;
document.getElementById("scanData").textContent = tempScanData;
document.getElementById("scanDataLabel").textContent = tempScanLabel;
}
- See Also
ErrorOccurred ErrorOccurred ErrorOccurred ErrorOccurred
Occurs when there is a problem in reading a barcode.
public : event TypedEventHandler ErrorOccurred<ClaimedBarcodeScanner, BarcodeScannerErrorOccurredEventArgs>public event TypedEventHandler ErrorOccurred<ClaimedBarcodeScanner, BarcodeScannerErrorOccurredEventArgs>Public Event ErrorOccurred<ClaimedBarcodeScanner, BarcodeScannerErrorOccurredEventArgs>// You can use this event in JavaScript.
ImagePreviewReceived ImagePreviewReceived ImagePreviewReceived ImagePreviewReceived
Occurs when the device receives the bitmap image of the scan.
public : event TypedEventHandler ImagePreviewReceived<ClaimedBarcodeScanner, BarcodeScannerImagePreviewReceivedEventArgs>public event TypedEventHandler ImagePreviewReceived<ClaimedBarcodeScanner, BarcodeScannerImagePreviewReceivedEventArgs>Public Event ImagePreviewReceived<ClaimedBarcodeScanner, BarcodeScannerImagePreviewReceivedEventArgs>// You can use this event in JavaScript.
ReleaseDeviceRequested ReleaseDeviceRequested ReleaseDeviceRequested ReleaseDeviceRequested
Occurs when the device gets a request to release its exclusive claim.
public : event EventHandler ReleaseDeviceRequested<ClaimedBarcodeScanner>public event EventHandler ReleaseDeviceRequested<ClaimedBarcodeScanner>Public Event ReleaseDeviceRequested<ClaimedBarcodeScanner>// You can use this event in JavaScript.
Examples
The following example shows how to setup the event handler.
void Scenario1::ScenarioStartScanButton_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
// Create the barcode scanner.
create_task(CreateDefaultScannerObject()).then([this](void)
{
if (scanner != nullptr)
{
// Claim the scanner for exclusive use by your application.
create_task(ClaimScanner()).then([this](void)
{
if (claimedScanner)
{
// Add a release device requested event handler. If this event is not handled,
// another app can claim the barcode scanner.
releaseDeviceRequestedToken = claimedScanner->ReleaseDeviceRequested::add(ref new EventHandler<ClaimedBarcodeScanner^>(this, &Scenario1::OnReleaseDeviceRequested));
/// Add a data receive event handler.
dataReceivedToken = claimedScanner->DataReceived::add(ref new TypedEventHandler<ClaimedBarcodeScanner^, BarcodeScannerDataReceivedEventArgs^>(this, &Scenario1::OnDataReceived));
UpdateOutput("Attached the DataReceived Event handler.");
// Set the app to decode the raw data from the barcode scanner
claimedScanner->IsDecodeDataEnabled = true;
// Enable the scanner.
create_task(EnableScanner()).then([this](void)
{
UpdateOutput("Ready to Scan.");
// Reset the button state
ScenarioEndScanButton->IsEnabled = true;
ScenarioStartScanButton->IsEnabled = false;
});
}
});
}
});
}
private async void ScenarioStartScanButton_Click(object sender, RoutedEventArgs e)
{
// Create the barcode scanner.
if (await CreateDefaultScannerObject())
{
// Claim the scanner for exclusive use by your application.
if (await ClaimScanner())
{
// Add a release device requested event handler. If this event is not handled,
// another app can claim the barcode scanner.
claimedScanner.ReleaseDeviceRequested += claimedScanner_ReleaseDeviceRequested;
// Add a data receive event handler.
claimedScanner.DataReceived += claimedScanner_DataReceived;
UpdateOutput("Attached the DataReceived Event handler.");
// Set the app to decode the raw data from the barcode scanner
claimedScanner.IsDecodeDataEnabled = true;
// Enable the scanner.
if (await EnableScanner())
{
// Reset the button state
ScenarioEndScanButton.IsEnabled = true;
ScenarioStartScanButton.IsEnabled = false;
UpdateOutput("Ready to Scan.");
}
}
}
else
{
UpdateOutput("No Barcode Scanner found");
}
}
void Scenario1::OnReleaseDeviceRequested(Platform::Object ^sender, Windows::Devices::PointOfService::ClaimedBarcodeScanner ^args)
{
Dispatcher->RunAsync(CoreDispatcherPriority::Normal, ref new DispatchedHandler(
[this,args]()
{
args->RetainDevice();
UpdateOutput("Received event ReleaseDeviceRequested. Retaining the barcode scanner.");
}));
}
async void claimedScanner_ReleaseDeviceRequested(object sender, ClaimedBarcodeScanner e)
{
await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
{
e.RetainDevice();
});
}
Remarks
If your application receives a ReleaseDeviceRequested event from another application, it may lose its exclusive claim unless your application retains the device.
- See Also
TriggerPressed TriggerPressed TriggerPressed TriggerPressed
Occurs when the barcode scanner trigger or button is pressed during a scanning operation.
public : event EventHandler TriggerPressed<ClaimedBarcodeScanner>public event EventHandler TriggerPressed<ClaimedBarcodeScanner>Public Event TriggerPressed<ClaimedBarcodeScanner>// You can use this event in JavaScript.
TriggerReleased TriggerReleased TriggerReleased TriggerReleased
Occurs when the barcode scanner trigger or button is released during a scanning operation.
public : event EventHandler TriggerReleased<ClaimedBarcodeScanner>public event EventHandler TriggerReleased<ClaimedBarcodeScanner>Public Event TriggerReleased<ClaimedBarcodeScanner>// You can use this event in JavaScript.