如何使用 C# 开发可以使用 USB 条码扫描器的桌面应用程序。如何开始

How to Develop a Desktop Application using C# which can Utilize USB Barcode Scanner. How to start

我浏览了 Microsoft Developer 网站。有使用 pointOfService 的开发。但我在以下方面遇到错误:

 scanner = await BarcodeScanner.GetDefaultAsync();

说:IAsyncOperation 不包含 GetAwaiter 的定义

可能是我遗漏了任何参考资料,但不确定是哪一个。 如果还有其他方法,请分享。我正在开发 Windows 桌面应用程序的一件重要事情。

完整代码为:

 private async Task<bool> CreateDefaultScannerObject()
    {
        if (scanner == null)
        {
            UpdateOutput("Creating Barcode Scanner object.");
            scanner = await BarcodeScanner.GetDefaultAsync();

            if (scanner != null)
            {
                UpdateOutput("Default Barcode Scanner created.");
                UpdateOutput("Device Id is:" + scanner.DeviceId);
            }
            else
            {
                UpdateOutput("Barcode Scanner not found. Please connect a Barcode Scanner.");
                return false;
            }
        }
        return true;
    }

您不能在桌面应用程序中使用 BarcodeScanner class。此 class 是新 "Universal Windows Platform" 的一部分,仅适用于 Windows 8 和 Windows 10 的通用应用程序。

使用条形码扫描器的最简单方法是让它们模拟键盘。您可以将扫描仪配置为在实际代码前后发送前缀和后缀字符。

通常,您会配置"Return"作为后缀和一些用户通常不会输入的特殊代码作为前缀。

如果您处理应用程序中的所有按键事件,您可以通过清除并将焦点设置到旨在接收条形码的文本框来对接收配置的前缀做出反应。然后将条形码(通过键盘仿真)插入文本框并按下 return。

然后文本框可以像用户将代码输入文本框并按下 Return 一样处理这个问题。

有关更多详细信息和代码示例,请参阅 http://www.codeproject.com/Articles/296533/Using-a-bar-code-scanner-in-NET