У многих USB-сканеров аппаратные кнопки передают в Windows событие WIA/STI. Правильный путь — привязать к событию приложение или профиль, который делает скан и сохраняет файл без лишнего диалога.
1. Сначала используйте фирменную утилиту
Canon IJ Scan Utility, Epson ScanSmart/Event Manager, Brother iPrint&Scan и аналогичные программы обычно умеют назначать действия аппаратным кнопкам и сохранять результат в выбранную папку.
2. Проверьте свойства события WIA
Для старых WIA-совместимых моделей Windows может показывать события кнопок в свойствах устройства сканирования. Там можно выбрать зарегистрированное приложение.
3. Автоматический профиль
- фиксированный DPI;
- цвет/градации серого;
- формат PDF/JPEG/PNG;
- папка назначения;
- шаблон имени файла;
- автоматический deskew/crop, если поддерживается.
4. Если производитель больше не поддерживает старую модель
Можно использовать программу, которая умеет работать через WIA/TWAIN и принимать параметры командной строки. Тогда кнопка запускает не UI, а готовый scan-profile.
5. Legacy: регистрация WIA/STI event в реестре
Старая статья вручную создавала обработчик в ветках StillImage\Events. Это может работать на старом оборудовании, но не копируйте GUID/ControlSet из чужого компьютера. Перед изменением экспортируйте соответствующую ветку и используйте CurrentControlSet, а не жёстко заданный ControlSet001.

6. Не удаляйте device-ветки WIA
Удаление ветки конкретного сканера может сломать привязку событий. Если экспериментируете с legacy-реестром, сначала создайте backup или точку восстановления.
