Найти тему

Pepetko - приложение для быстрого выбора цвета с экрана Windows

Оглавление

Инструкция

Приложение написано на языке C#.

Приложение делает именно то, о чем заявлено в названии статьи.

Если приложение запущено, в трее отображается его значок.

Правый клик мыши по значку приложения открывает контекстное меню с пунктами "Справка", "Автозагрузка добавить/убрать", "Выход".

Чтобы перейти в режим выбора цвета необходимо зажать сочетание клавиш LCtrl+LShift+PrintScreen.

Левый клик в режиме выбора цвета поместит в буфер обмена RGB кодировку цвета в десятичном формате (255, 255, 255).

Правый клик поместит в буфер обмена RGB кодировку цвета в шестнадцатеричном формате (#FFFFFF).

Выход из режима выбора цвета происходит после выбора цвета, либо после нажатия клавиши Escape.

Ссылки на скачивание

Исполняемый файл:

Pepetko.exe

Архив с исходниками (решение VisualStudio):

Pepetko.zip

Принцип работы

При переходе в режим выбора цвета приложение создает скриншот, создает раскрытую на весь экран форму и размещает скриншот в данной форме.

Выбор цвета производится с отображаемого в форме скриншота.

При выходе из режима выбора цвета форма закрывается.

Что полезного можно найти в исходниках

1. Перехват и обработка нажатий сочетаний клавиш.

В файле Program.cs смотреть делегат Hookproc и методы SetWindowsHookEx, UnhookWindowsHookEx.

2. Включение/выключение автозагрузки приложения.

В файле StartForm.cs смотреть метод ContextMenu_Popup, в нем вызовы методов registryAutorunSubKey.DeleteValue и registryAutorunSubKey.SetValue.

3. Добавление значка приложения в трей и работа с ним (настройка контекстного меню, отображение всплывающих подсказок).

В файле StartForm.cs смотреть работу с объектом "notifyIcon".

TODO - Что нужно доделать

1. В режиме выбора цвета панель, демонстрирующая цвет пикселя, над которым находится курсор, должна размещаться с учетом положения курсора относительно границ экрана, например, если курсор находится в правом нижнем углу экрана, панель должна отображаться слева сверху от курсора, таким образом панель не будет уходить за границы экрана.

2. Реализовать возможность назначать клавишу/сочетание клавиш для перехода в режим выбора цвета.