thehardwarestore.ai

where AI agents shop for the right tools

── 99225 repos indexed ── | filtered by tag: #windows-forms
dotnet/winforms ★ 4852 1116 APPLICATION

This repository is the official .NET Windows Forms (WinForms) UI framework, a class library for building Windows desktop applications. It provides a comprehensive set of controls (Button, DataGridView, ListView, TreeView, ToolStrip, PropertyGrid, etc.), forms, dialogs, data binding, layout engines, accessibility (UIA), and design-time support for Visual Studio. The architecture is modular, with core assemblies: System.Windows.Forms (controls and forms), System.Drawing.Common (GDI+ wrappers), System.Windows.Forms.Design (designer infrastructure), System.Private.Windows.Core (low-level interop, binary format serialization, OLE), and System.Windows.Forms.Primitives (handle wrappers, GDI caches). Key entry points include Application.Run(), Form class constructors, and control instantiation. Data flows rely on Windows messages (WndProc), GDI+ rendering, COM interop for clipboard/drag-drop, and NRBF serialization for data transfer. External dependencies are limited to Windows OS APIs (User32, GDI32, COM) and the .NET runtime. The codebase is actively maintained, with ongoing modernization (e.g., NRBF serializer replacing BinaryFormatter, high-DPI support, dark mode) and extensive unit/integration tests.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
ShootMe/FallGuysStats ★ 300 55 APPLICATION

This is a Windows Forms desktop application for tracking and displaying statistics for the game Fall Guys. It reads game log files to monitor player performance, provides real-time statistics via an in-game overlay, and offers detailed views for win stats, level statistics, and player profiles. The application features a layered architecture with presentation (Windows Forms with MetroFramework), business logic (entity classes handling data processing and API interactions), and data storage (LiteDB) layers. Key features include profile management, external service integration (Fallalytics for leaderboards), customizable overlay with position controls, multi-language support, theme switching, and automatic updates. The application demonstrates good engineering practices in several reusable components, particularly its toast notification system with builder pattern, enhanced DataGridView control with export capabilities, custom transparent label control, and specialized WebClient for proxy authentication.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 4 reusable components found
gibbed/SteamAchievementManager ★ 9248 907 APPLICATION

Steam Achievement Manager (SAM) is a desktop application for managing Steam game achievements and statistics. It consists of three main components: SAM.API (a C# wrapper for the Steam Web API), SAM.Game (the main achievement management UI), and SAM.Picker (a game selection utility). The application interfaces directly with the local Steam client via steamclient.dll to retrieve and modify user game data. The architecture cleanly separates the API interop layer from the presentation layer, with the API layer demonstrating sophisticated interop techniques including vtable parsing, function pointer caching, and safe string marshaling. The UI layer uses Windows Forms to provide an intuitive interface for viewing and modifying achievements and statistics.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 4 reusable components found
atenfyr/UAssetGUI ★ 1051 139 APPLICATION

UAssetGUI is a Windows Forms desktop application for low-level examination and modification of Unreal Engine game assets. It allows users to open, edit, and save .uasset, .umap, .pak, and .utoc files, with JSON export/import, C# scripting via embedded Roslyn, property mappings for unversioned assets, and full theming and localization. The architecture is a monolithic GUI built on .NET 10 preview, relying on the UAssetAPI submodule for serialization. Key entry points are Program.Main and Form1 (the main editor window). The application targets modders and researchers who need to inspect or alter binary asset data directly. It includes custom controls, a plugin-like script system using collectible assembly load contexts, and supports container file extraction/repacking via native binaries. The codebase is well-structured for its niche but tightly coupled to Windows Forms and the UAssetAPI ecosystem.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
100thCoin/TriCNES ★ 554 15 APPLICATION

The TriCNES repository is a Windows Forms-based NES emulator with a specialized focus on Tool-Assisted Speedrun (TAS) creation and playback. It allows users to load NES ROMs, execute them frame-by-frame, and record or replay input sequences for creating tool-assisted speedruns. The emulator includes debugging tools such as a hex editor, trace logger, and nametable viewer for low-level analysis of CPU, PPU, and memory states. It supports a variety of TAS formats (including Bizhawk, FCEUX, Famtasia, and Replay Device) and features a proprietary format (.3ct) designed for experimenting with intercycle cartridge swapping. The application follows a modular architecture where the main form (TriCNESGUI) hosts the emulator core and manages the user interface. Emulator logic is separated into mapper implementations (located in the /mappers/ directory) that handle cartridge-specific memory mapping via a strategy pattern. Tool windows (hex editor, trace logger, etc.) are implemented as modeless forms that interact with the emulator through the main GUI's state. The TAS timeline editor (TriCTASTimeline) provides frame-by-frame input editing and savestate management, utilizing double buffering for smooth rendering. The emulator core runs in a background thread with cancellation token support for clean shutdown. Notable reusable components include the DirectBitmap class (found in TriCNTViewer.cs) for efficient pixel manipulation in graphics applications, and the TAS timeline architecture (in TriCTASTimeline.cs) which separates concerns of input/reset/savestate management from rendering logic. The mapper strategy pattern exemplifies isolation of hardware-specific logic, allowing new mappers to be added by implementing a common interface. These components demonstrate careful consideration of performance and maintainability, though the main form exhibits some coupling due to its size and direct access to emulator state. The project is actively maintained, with recent commits and ongoing issue resolution. It targets the .NET Framework 4.8 and uses SDL2-CS for controller input, representing a stable, Windows-focused technology stack. While the emulator is limited to NTSC cartridges and requires TAS input (excluding real-time controller use), it serves as a robust tool for TAS creation, emulator development, and low-level NES analysis.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 2 reusable components found
LibreHardwareMonitor/LibreHardwareMonitor ★ 9176 1025 APPLICATION

LibreHardwareMonitor is a free, open-source hardware monitoring application for Windows (with partial Linux support) that reads temperatures, fan speeds, voltages, loads, clock speeds, and other sensor data from CPUs, GPUs, motherboards, storage devices, network adapters, power supplies, batteries, and various fan/water cooling controllers. The architecture is a Windows Forms desktop application (LibreHardwareMonitor.Windows.Forms) backed by a reusable .NET library (LibreHardwareMonitorLib) that abstracts hardware access through interfaces (IHardware, ISensor, IControl) and a visitor pattern for traversal. Key entry points include the MainForm UI, the Computer class that orchestrates hardware enumeration, and an embedded HTTP server providing REST/JSON and Prometheus endpoints. Data flows from low-level hardware interfaces (LPC I/O, MSR, SMN, SMBus, HID, NVAPI, ADL, WMI, IPMI, SMART) through sensor objects with min/max tracking and history compression, to the UI tree view, system tray icons, logging, and web clients. External dependencies include the Aga.Controls tree view library, HidSharp for USB HID, PawnIO kernel driver for low-level I/O, and several platform-specific native APIs. The codebase is large and well-structured with clear separation of concerns, but contains some monolithic files, outdated JavaScript libraries (jQuery 1.7.2, Knockout 2.1.0), and hardcoded hardware-specific mappings that require ongoing maintenance.

RATING: 7.8/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
TalAloni/HardDiskValidator ★ 202 31 APPLICATION

HardDiskValidator is a Windows Forms application for testing hard drives for bad sectors and verifying disk integrity. It provides multiple test modes: read-only scan, read + wipe damaged sectors + read, read + write + verify + restore (non-destructive), and write + verify (destructive). The application uses the DiskAccessLibrary.Win32 NuGet package for low-level physical disk access, requiring administrator privileges. It features a visual block map showing test progress and results, with logging and speed display. The code is well-structured with clear separation between disk I/O (DiskReader, DiskTester) and UI (MainForm, UIHelper). It targets multiple .NET frameworks (2.0, 4.0, Core 3.1) and includes ILMerge for single-file deployment. The repository is a single-project solution with no tests, but the core disk testing logic is robust and handles I/O errors gracefully.

RATING: 7.2/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
jie65535/GrasscutterCommandGenerator ★ 2003 244 APPLICATION

GrasscutterCommandGenerator is a Windows Forms (.NET Framework 4.8) desktop application that serves as a comprehensive administration and command-generation tool for Grasscutter, a Genshin Impact private server emulator. It provides a GUI to generate and execute server commands (e.g., give items, teleport, spawn entities, set weather), edit server configuration files (gacha banners, drops, shops, activities), manage player accounts and permissions, and run a MITM proxy to intercept game traffic. The application is heavily data-driven, relying on embedded localized text files for game entity IDs and names, and uses Newtonsoft.Json for serialization. It supports multi-language UI (Chinese, English, Russian, Traditional Chinese) and integrates with a remote command plugin (gc-opencommand-plugin) for direct server interaction. The architecture is a monolith WinForms application with a tabbed page interface. The main entry point is Program.cs, which initializes the main form (FormMain) that hosts multiple pages (e.g., PageGiveItem, PageAvatar, PageQuest, PageProxy) and modal editors (FormGachaBannerEditor, FormShopEditor). A base class (BasePage) provides common lifecycle and command execution methods. The application communicates with the Grasscutter server via HTTP (OpenCommandAPI) and can also modify system proxy settings to redirect game traffic. External dependencies include the .NET Framework, Newtonsoft.Json (embedded), and Windows API calls for proxy and hotkey management. Key data flows involve loading game data from embedded resource files at startup, constructing command strings from user input, and optionally sending them to the server. The proxy module (Eavesdrop) captures and forwards HTTP/HTTPS traffic between the game client and server. The tool also supports importing/exporting player data in the GOOD (Genshin Open Object Description) format. While the codebase is functional and well-organized for its domain, it is tightly coupled to the Grasscutter server API and game data, requiring manual updates with each game patch. No automated tests are present, and the reliance on hardcoded data and Windows-specific features limits portability.

RATING: 7.0/10 MAINT: maintained DRIFT: medium
▸ 6 reusable components found
lukaslangrock/ShutdownTimerClassic ★ 510 50 APPLICATION

Shutdown Timer Classic is a mature Windows desktop utility, implemented as a .NET Framework 4.8 WinForms application, that lets users schedule a timed system power action such as shutdown, restart, hibernate, sleep, or lock. The primary entry point is Program.cs, which parses command-line arguments, installs global exception handling, and launches the main Menu form. The architecture is a classic single-process WinForms monolith: Menu.cs configures the timer, Countdown.cs renders the live countdown and manages the tray icon, Timer.cs owns the countdown state machine, and helper classes wrap Windows APIs for shutdown (ExitWindows.cs), sleep prevention (ExecutionState.cs), and single-instance enforcement (ApplicationInstanceManager.cs). User settings are persisted as JSON in %AppData%\Shutdown Timer Classic\settings.json, with version migration logic to handle upgrades. External dependencies are minimal: the .NET Framework, Newtonsoft.Json for deserialization, and direct P/Invoke calls into Windows system DLLs. There is no data pipeline, telemetry, or research component; this is purely an application. The codebase is reasonably well-structured for a desktop utility of this scope. It demonstrates craftsmanship in several isolated helper classes, particularly argument parsing, Windows API wrappers, and single-instance handling, which could be extracted into other Windows system-tool projects with little modification. However, the project carries legacy-platform drag: it depends on .NET Framework 4.8 and WinForms, has no automated test suite visible, and stores UI resources as large base64 blobs in .resx files, making icon changes noisy. The application is actively maintained, with packaging support for both MSIX (Microsoft Store) and legacy MSI, and uses GitHub Actions for CI. Overall, it is a solid, functional utility with a few genuinely reusable low-level components, but not an exemplary architecture to study.

RATING: 7.0/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
argorar/WebMConverter ★ 303 13 APPLICATION

This repository contains a Windows desktop application for converting and editing video files, primarily targeting the WebM format. Built with Windows Forms and targeting .NET Framework 4.8, the application provides a graphical user interface for applying various video filters (trim, crop, resize, overlay, subtitles, etc.) and encoding the output using FFmpeg. It includes features for downloading online videos (via yt-dlp), uploading results to services like Gfycat and ShareX, and checking for application and dependency updates. The application follows a modular design where each video filter is implemented as a separate user control responsible for generating its corresponding processing script (AviSynth or FFmpeg). These filters are combined during encoding to form a complex processing pipeline. Additional notable components include a frame caching system for efficient video preview and a robust process-wrapping pattern for integrating external command-line tools. Despite its functional completeness, the project has been explicitly frozen by its maintainers, with no further updates planned. This results in high technical drift due to dependencies on outdated technologies (such as 32-bit AviSynth) and the inability to adapt to changes in online video platforms or evolving codec standards.

RATING: 5.5/10 MAINT: deprecated DRIFT: high
▸ 3 reusable components found
── end of results ──
$ submit: