Skip to content

Repository files navigation

Aj179PStat 🖱️🔋

A lightweight Windows System Tray application written in C# to display the battery percentage of your Ajazz AJ179 Pro wireless mouse.

License Platform Framework


📸 Screenshots

System Tray Icon Dashboard UI
System Tray Icon Dashboard UI

💡 Tip: Be sure to open the UI dashboard at least once to configure the application settings according to your preference!


🌟 Features

  • 📌 Dynamic System Tray Icon: Renders the exact battery percentage number directly onto the notification area icon with dynamic color badges (Green > 50%, Yellow 21-50%, Red <= 20%).
  • Single-Click Refresh: Left-click the system tray icon anytime for instant battery status updates.
  • 🖼️ Double-Click Dashboard: Double-click the system tray icon to open the full diagnostic Dashboard Window.
  • 🔔 Customizable Low Battery Notifications: Get Windows notifications when the battery drops below your chosen percentage (e.g. 20%).
  • 🔄 Instant Auto-Reconnect: Uses native Windows WM_DEVICECHANGE hardware events + 10s fast-polling to reconnect instantly when the mouse wakes up or is plugged in.
  • 🚀 Start with Windows: Built-in toggle to run automatically on Windows startup via Registry.
  • 📦 Standalone Single Executable: Compiled into a single .exe with zero external runtime or DLL dependencies.

🛠️ Hardware Compatibility

  • Mouse Model: Ajazz AJ179 Pro Wireless Mouse
  • Vendor ID (VID): 0x3151 (12625)
  • Product ID (PID): 0x402D (16429)
  • Report Details:
    • Request: 64-byte payload starting with 0xF7 (247).
    • Response: 64-byte payload parsing data[2] for battery level percentage (0 - 100%).

Important

⚠️ Charging & Docking Limitations

  • No Active Charging Status: The mouse hardware/firmware does not transmit a charging state flag over HID (the official driver app also lacks charging status detection).
  • Paused Percentage Updates While Docked: When the mouse is placed on its charging dock, it stops sending battery percentage reports. Consequently, the app will continue to display the last percentage received right before charging started.
  • Checking Updated Battery Percentage: If you need to check the updated battery percentage during or after charging, simply remove/lift the mouse off the dock. The app will receive and display the updated percentage.
  • Verifying Full Charge: Because HID battery reports pause while docked, the only reliable way to confirm when the mouse is 100% charged while still on the dock is to check the physical LED indicator on the device.

📥 Installation & Running

Download

Download the latest single-file Aj179PStat.exe release from the Releases page.

Run

Double-click Aj179PStat.exe. It will start silently in your Windows system tray. Be sure to open the UI dashboard at least once (by double-clicking the tray icon or right-clicking and choosing Open Dashboard) to configure the settings to your liking.


🔨 Building & Publishing Single EXE

Prerequisites

Build Standalone Single File EXE

Execute the following command:

dotnet publish -c Release -r win-x64 --self-contained true /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true -o ./publish

The compiled standalone executable will be located in ./publish/Aj179PStat.exe.


🖥️ Usage & Controls

  • Left Click Tray Icon: Refreshes battery status.
  • Double-Click Tray Icon: Opens Dashboard window.
  • Right-Click Tray Icon: Opens Context Menu (Refresh Now, Open Dashboard, Exit).

📄 License

This project is licensed under the MIT License.

About

Lightweight C# Windows system tray application for tracking the battery percentage of the Ajazz AJ179 Pro wireless mouse via native HID reports.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages