A Windows-based color picker utility built with Microsoft Foundation Classes (MFC).
This GitHub repository contains the source code for Color Cop. It is intended for developers and contributors who want to build, debug, or improve the application.
If you just want to download and use Color Cop, visit the official website: colorcop.net, which provides the latest stable installer and user-focused information.
This repository is focused on development, issue tracking, and contribution workflows.
-
Install prerequisites
- Windows 10/11
- Visual Studio 2022 with:
- MSVC v143 compiler toolset
- Windows 10/11 SDK
- MFC for latest v143 build tools (x86 & x64)
-
Clone the repository
git clone https://github.com/ColorCop/ColorCop.git cd ColorCop
- Open
ColorCop.slnin Visual Studio 2022. - Select the desired configuration from the toolbar:
- Debug | Win32
- Release | Win32
- Build the solution via Build → Build Solution.
A placeholder version.h is included in the repository so the project builds cleanly in the IDE.
When using the command‑line build.cmd script, this file is automatically regenerated with version information from Git tags.
- Debug — Development build with debugging symbols and no optimizations
- Release — Optimized production build suitable for distribution
ColorCop includes a build.cmd script for reproducible Release builds.
-
Version source: The script reads the latest Git tag using
git describe --tags --abbrev=0. Tags are expected to follow semantic versioning, typicallyvMAJOR.MINOR.PATCH(for example,v5.5.2). -
Fallback behavior: If no tags are found (for example, in forks or shallow clones), the script falls back to
0.0.0. -
Generated files:
ColorCop\version.h— containsVER_FILEVERSION,VER_PRODUCTVERSION, and related string macros derived from the Git tag.ColorCop\installer\version.iss— containsAppVersionStrfor the installer, also derived from the Git tag.
-
Build invocation: The script locates a C++‑capable
MSBuild.exeviavswhereand runs aRebuildof theRelease | Win32configuration.
ColorCop uses Git tags (e.g., v5.5.2) to drive the release pipeline.
Pushing a new tag triggers GitHub Actions to:
- Build the application
- Update version metadata
- Publish a new GitHub Release with compiled binaries
GitHub does not support a “post‑release” event. The following steps must be run after the GitHub Release has been created.
After a new release is published on GitHub, two manual follow‑up workflows must be run:
- Go to Actions → Publish Chocolatey Package
- Click Run workflow
- Enter the release tag (e.g.,
v5.5.2) - Run the workflow to publish the updated Chocolatey package
- Go to Actions → Publish to WinGet
- Click Run workflow
- Enter the same release tag (e.g.,
v5.5.2) - Run the workflow to submit the updated WinGet manifest
git tag --listColorCop.cpp/h- Main application classColorCopDlg.cpp/h- Main dialog implementationSystemTray.cpp/h- System tray functionalityRes/- Application resources and icons
This project uses cpplint to enforce C++ style guidelines.
Install:
pip install cpplintRun linting:
mise lint- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly on Windows 10/11
- Submit a pull request
ColorCop is licensed under the MIT License.
See LICENSE.txt for the full license text.
Build Errors:
- Ensure MFC components are installed in Visual Studio 2022
- Verify Windows SDK is installed
- Check that platform toolset is set to v143
Runtime Issues:
- Install Visual C++ Redistributable for Visual Studio 2022