Skip to content

michaelmnich/BarcodeSimulator

Repository files navigation

Logo BarcodeQRCodeSKD

Emulate a barcode scanner by sending keystrokes to any application.

Built with WPF + WPF-UI · Fluent / Windows 11 style

.NET 10 WPF-UI License: MIT Platform

Layout

✨ Features

Feature Description
⌨️ Scanner emulation Sends keystrokes to the active window — just like a real scanner
📊 Multiple barcode types UPC-A, EAN-13, EAN-8, Code39, and free text
📱 QR Code generation With optional custom icon overlay in the center
👁️ Live preview Switch between barcode and QR code visualization
🖨️ Print support Print barcodes / QR codes directly
🎹 Configurable hotkey Trigger sending with any key combination
⏱️ Adjustable delay Countdown timer before keystrokes are sent (1–10 s)
🎨 Dark / Light theme Windows 11 Fluent Design with theme switching
🏷️ Custom branding Support for custom logos (dark/light) and QR icon overlay

📸 Screenshots

Main screen

Main

Setting screen

Setting

🚀 Getting Started

Prerequisites: Windows 10/11 · .NET 10 SDK

git clone https://github.com/michaelmnich/BarcodeSimulator.git
cd BarcodeSimulator
dotnet run --project App.Bs.Barcode.Wpf.Ui

📖 How to Use

1 │ Type or paste a barcode string and click Add
2 │ Configure the hotkey (default: Ctrl+\) and click Register
3 │ Switch to the target application (e.g. a form field)
4 │ Press the hotkey — the simulator waits, then types the next code
5 │ Each press sends the next item in the list, cycling back to the first

🔢 Supported Barcode Types

 Type      Example          Description
 ───────── ──────────────── ──────────────────────────────────
 UPC-A     036000291452     12-digit Universal Product Code
 EAN-13    5030917071027    13-digit European Article Number
 EAN-8     73513537          8-digit European Article Number
 Code39    *HELLO*          Alphanumeric, wrapped in asterisks
 Text      anything else    Free text (sent as keystrokes)

⚙️ Configuration

Setting Description
Hotkey Keyboard shortcut to trigger sending (Ctrl/Alt/Shift/Win + key)
Delay (ms) Pause between each keystroke in milliseconds
Ends with Optional key sent after the barcode (e.g. Enter, Tab)
Send Delay Seconds to wait before typing starts (1–10 s, with countdown)

🎨 Branding

Place custom images in the Branding/ folder next to the executable:

Branding/
├── LogoDark.png    → App icon shown in dark theme
├── LogoLight.png   → App icon shown in light theme
└── QrIcon.png      → Icon overlaid in center of generated QR codes

🏗️ Project Structure

BarcodeSimulator/
│
├── App.Bs.Barcode/                # Core barcode detection library
│   └── Barcode.cs                 #   Type detection (UPC-A, EAN-13, EAN-8, Code39)
│
├── App.Bs.Barcode.Wpf.Ui/        # WPF application (Fluent Design)
│   ├── MainWindow.xaml            #   Custom chrome window with tab bar
│   ├── BarcodeSimulatorControl    #   Main simulator tab
│   ├── SettingsControl            #   Theme & branding settings
│   ├── ReadmeControl              #   In-app documentation
│   └── img/                       #   Embedded icons
│
└── BarcodeSimulator/              # Legacy .NET Framework project

🛠️ Tech Stack

.NET 10 Runtime & SDK
WPF-UI Fluent / Windows 11 controls
QRCoder QR code generation
WindowChrome Custom title bar with inline tabs

📄 License

Distributed under the MIT License. See LICENSE for details.

👤 Author

BinarySoft · @michaelmnich


Built with ❤️ by BinarySoft

About

Barcode/QR-Code simulator, generator and test engine

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors