Color Cop is a versatile color picker tool designed for web designers and programmers to easily identify and capture colors in various hexadecimal formats.
Key Features:
Instant hex code detection with an intuitive eyedropper tool that copies the selected color directly to the clipboard.
Support for multiple color formats, including RGB, HSL, and HSV, ensuring flexibility for diverse design needs.
Enhanced functionality with a screen measurement feature: press the Control key while using the eyedropper to measure on-screen elements in pixels.
Audience & Benefit:
Ideal for web designers, developers, and anyone working with digital colors, Color Cop streamlines the process of color selection and integration into design workflows. Its user-friendly interface and advanced features save time and improve accuracy, making it an essential tool for professionals.
Color Cop can be installed via winget, ensuring seamless setup on Windows systems.
README
ColorCop
A Windows-based color picker utility built with Microsoft Foundation Classes (MFC).
About this repository
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.
Quick start for developers
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
Building in Visual Studio
Open ColorCop.sln in 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
Command-line build and versioning
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, typically vMAJOR.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 — contains VER_FILEVERSION, VER_PRODUCTVERSION,
and related string macros derived from the Git tag.
ColorCop\installer\version.iss — contains AppVersionStr for the
installer, also derived from the Git tag.
Build invocation: The script locates a C++‑capable MSBuild.exe via
vswhere and runs a Rebuild of the Release | Win32 configuration.
Release Workflow
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.
Post‑release actions
After a new release is published on GitHub, two manual follow‑up workflows must be run:
1. Publish to Chocolatey
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
2. Publish to WinGet
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
Listing existing tags
git tag --list
Development
Project Structure
ColorCop.cpp/h - Main application class
ColorCopDlg.cpp/h - Main dialog implementation
SystemTray.cpp/h - System tray functionality
Res/ - Application resources and icons
Code Linting
This project uses cpplint to enforce C++ style guidelines.