Лёгкая Win32 утилита для управления уровнем микрофона и удержания выбранной громкости.
src/— точка входа и реализации менеджеров приложения.include/— заголовки и идентификаторы ресурсов.resources/— значок, RC-файл и Windows manifest.CMakeLists.txt— сборка приложения;build/исключён из Git.
- Нативное компактное окно Win32 с темами Windows, настройкой под DPI и клавиатурным управлением ползунком.
- Показанное значение обновляется при перетаскивании; громкость микрофона и файл настроек обновляются после отпускания кнопки мыши.
- Переключатель включает или выключает удержание. Выбранное значение при этом остаётся видимым и сохраняется.
- Работа в системном трее: правой кнопкой открывается меню включения удержания, окна и выхода.
- Если системный трей недоступен, окно открывается сразу, а закрытие завершает приложение.
- Автозапуск через HKCU Run с обновлением стандартного пути при переносе приложения.
- Настройки из файла отслеживаются системными уведомлениями Windows.
Переместите MicGainControl.exe в постоянную папку, например C:\Program Files\MicGainControl\, и запустите. Окно открывается из меню значка в трее; закрытие окна скрывает его, а пункт «Выход» завершает приложение.
Стандартная запись создаётся в HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run с именем MicGainControl. Если приложение перемещено, обычная запись с одним путём обновляется при следующем запуске. Запись с дополнительными аргументами запуска не перезаписывается.
Чтобы отключить автозапуск, удалите значение MicGainControl из указанного раздела реестра или выключите приложение в настройках автозагрузки Windows.
Файл настроек: %USERPROFILE%\.MicGainControl.json.
{
"enabled": true,
"microphoneVolume": 100
}microphoneVolume хранится целым процентом от 0 до 100, как в предыдущих версиях. Для чтения также принимается дробная скалярная форма 0.0–1.0. Обновление файла выполняется атомарной заменой. Некорректный файл не заменяет последнюю корректную конфигурацию; при некорректном файле на старте используются значения по умолчанию.
При отсутствии устройства записи приложение остаётся запущенным и повторно подключается после уведомлений Windows о добавлении устройства или смене устройства по умолчанию. Ошибки WASAPI записываются через OutputDebugString; повторные диалоги не прерывают работу.
Проект использует C++17, CMake и MSVC. Соберите и запустите Release из PowerShell:
cmake -S . -B build
cmake --build build --config Release
Start-Process .\build\Release\MicGainControl.exeGitHub Actions собирает Release на Windows. Проверка реального управления микрофоном, поведения на разных DPI и мониторах, тем оформления, трея и автозапуска требует Windows окружения.