Меню

Canon lide 210 не работают кнопки

Как научить сканеры сканировать молча по кнопкам без окон и костылей?

Как заставить сканеры вообще (речь пойдет про Canoscan LIDE 210) молчаливо по кнопке сканировать файл с нужными параметрами в требуемую папку?

По-моему, это самая распространенная задача и для ее решения производитель нам дает самые нераспространенные решения.
В следующих версиях производители ну наверняка добавят в свой софт что-то вроде «отправить скан в facebook» или «поделиться в Twitter» но чтобы сделать тихий режим, настроить раз и сканировать без каких либо окон… до этого мы не доживем.

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

Без родного софта, кнопки Canoscan LIDE 210 работать не хотят. А с родным — вызывают жуткое негодование. Невозможно сканировать по кнопкам без открытия родного приложения. Поменять бы софт, да нету ничего. Секретаршам из-за полученного стресса приходится смотреть на кошек из-за этого на 5% больше времени, может быть поэтому они так популярны?(кошки)). Я сталкивался с этой проблемой три года назад в предыдущей модели сканера, я столкнулся с этой проблемой сегодня. Я читал комментарии многих людей выбешенных этой проблемой.

У нас есть в офисе паспортный сканер формата А5 Plusteck 550, он правда раза в три дороже, но его софт умеет молча с кнопок делать то, что указано в их настройках. Слава богу, что почти все сканнеры давно и поголовно поддерживают стандарты TWAIN и WIA. Это значит, что в семействе windows они должны работать без своего софта и вообще без установки каких либо драйверов производителя.

Можем снести при желании весь стандартный софт. Мы будем работать через собственное безоконное приложение через WIA (качайте CmdTwain или в конце статьи наша утилита).

Способ 1 больше теории. Я рекомендую все же способ 2

Она написана на c# из-за количества готовых примеров. Работает очень просто:

  • По старту ищет первый сканер в системе
  • Сохраняет скан в директорию, адрес которой передан параметром.
  • Позволяет себя назначать на любую кнопку сканера через стандартный виндовый интерфейс

С двумя первыми пунктами понятно, а третий мы как раз рассмотрим в этой статье. С рабочего стола утилита работает отлично. Запускаем, она ищет сканер, и делает скан в папку, которую указали параметром при запуске. Но нам нужно добиться, чтобы она вызывалась по кнопке со сканера, а не по щелчку с рабочего стола. Лучше всего ее поместить каким-то образом вот в это окно:

Сказать честно, информации об этом довольно мало, гугл не открыл мне Америки как и msdn. Есть несколько источников (привет icopy), но они не рабочие… Но каким то образом производитель Canon (в данном случае приложения «MP Navigator EX 4.0», а на скриншоте выше «Photoshop») умудрился это сделать и мы попробуем узнать как.

Поиск решения

Все нужные записи хранятся в реестре(ну а где еще?) и для поиска изменений мы воспользуемся бесплатным приложением Regshot (http://sourceforge.net/projects/regshot/). Оно позволяет снять два снапшота реестра и показать изменения.
Сделаем снимок реестра до установки MP Navigator EX 4.0 и после, а результат сравнения сохраним в html файл для анализа.

Я не буду приводить весь лог, который мы получили. Из него для нас оказалось интересным два ключа в реестре.

Способ 1.

Данная ветка отвечает за сканеры и вебкамеры. Она содержит в себе в виде папок ваши USB подключения устройств съема изображений.
Если устройство подключается на какой либо USB порт первый раз, создается папка со следующим порядковым номером и вложенной иерархией присущей подключаемому типу устройства. У разных сканеров по разному могут называться разделы.

При подключении Canoscan LIDE 210 создалась директория 0014 с двумя подпапками DeviceData и Events. Если ваш сканнер поддерживает 5 кнопок, в папке Events вы увидите каждую из них даже с описанием действия в значениях ключей. (однако не все так логично, об этом ниже)

Если вы подключили сканер первый раз по этому USB, то в разделах PushButtonPushed у вас будет пусто. В противном случае вы обнаружите папки с именами в виде GUID и ключами с описанием привязанного программного обеспечения, ссылки на исполняемый файл тп.
Эта папка есть назначенное событие через виндовый интерфейс в свойствах сканера. Удалите папки GIUD ключами, сбросится привязка. Удалять их можно без проблем.

Читайте также:  Яндекс как починить телевизор

А вот удалять сами папки 0014 ни в коем случае нельзя. Они не восстанавливаются даже при накате офиц драйверов и с wia больше работать не будут. Проверено

Именно эту папку вы можете повторить самостоятельно изменив GUID раздела и путь к исполняемому файлу. Логика подобия здесь работает. Только GUID придумайте уникальный.

Изменения в систему вступят в силу после переподключения USB разъема.

Project1.exe приложение выводящие параметры %1 и %2
Теперь мы можем полюбоваться, что в окне привязки событий к кнопкам появилось наше тестовое приложение:

Однако, мне не понятен тот факт, что хоть в реестре мы создали папку с путем до запуска нашего приложения, в корне родителя которого указано «Кнопка для посылки по емейл» в виндовом окне привязки кнопок наше приложение доступно по другому событию. Почему так… я до конца не выяснил.

По нажатию на кнопку сканера мы видим наше консольное приложение выводящее параметры. Ура.

Способ 2

Какие то Прокси Эвенты?
Раздел, созданный в этой директории, позволяет глобально быть доступным вашему приложению в свойствах сканирования для привязки к кнопкам. Он позволяет назначать событие на текущий подключенный сканер через виндовый интерфейс.

В первом случае вы должны будете сами догадаться на какой папке (0014 в нашем случае) висит ваш сканер.

Достаточно записи в этом разделе, и ваше приложение будет доступно для всех событий, а при привязки WIA драйвер сделает копию из STIProxyEvent к нужной кнопке сканера.

Чтобы изменения вступили в силу, требуется перезагрузка.(поменяли путь к приложению? Аналогично — перезагрузка.) Или рестарт службы WIA.

Как вы видите на картинке выше, мы можем повесить на любую клавишу нашу утилиту, которая прекрасно отрабатывает.

Назначение события — это просто копия директории из STIProxyEvent в соотвествующую папку PushButtonPushed описанной в первом случае.

Итого.

  • Вы должны понимать, что при смене USB разъема на другой, вам придется повторять привязку событий к кнопкам. Это не недоработка, это так работает даже и у официальных продуктов. Поменял разъем — настрой кнопки.
  • Ветка реестра STIProxyEvent нужна только как мастер. В момент назначения кнопкам приложений WIA копирует раздел с ветки EventProxy в нужную папку события кнопки сканера.
  • В свойствах сканирования, в событиях, выпадающий список с приложениями для привязки к кнопкам сканера строится из 2-х веток, с STIProxyEvent и всех папок PushButtonPushed находящихся в родительской директории.
  • Настройки яркости, dpi и прочего настраивать через утилиту не нужно. Она пользуется профилем по умолчанию, который настраивается тут.

Наверное, это все. С другими сканерами думаю будет все аналогично ибо — wia. Удалять стандартный софт не обязательно.
И еще, дублировать ветки реестра для 64 битных систем нет необходимости. Они каким то образом сами это делают — удобно)

Приятно, когда такую неразбериху, можно так аккуратно разрулить.

Утилита (win7-64 и win 8-64):
Открыть с помощью архиватора(7zip и др.) картинку или переименовать в zip

1)Распаковать архив в нужное место (к примеру C:\wiatest)

2) Запустить через cmd.exe
«C:\wiatest\WIATest.exe reg C:\1221»

Где
reg — сделать запись в реестре. (Это второй пункт статьи),
а второй параметр «C:\1221» — желаемый путь сохранения ваших сканов.

3)Перезагрузиться и назначить нужную кнопку сканера в Панель управления -> устройства и принтеры-> правой кнопкой по сканеру -> свойства сканирования -> События на «4 cats». Теперь эта кнопка на сканере будет сохранять сканы в «C:\1221».

Можете сделать ярлык просто с одним параметром «C:\wiatest\WIATest.exe C:\1221» тогда утилита просто будет сканировать в папку «C:\1221» или в любую другую.

Пока не доступно для скачивания. Есть бага.

1) Canon mp280 по отзывам изначально как-то криво работает через мастер изображений. Сканирует только 1/4 формата А4 при прописанном жестко где только можно формате А4. Говорят этот баг лечится обновлением драйверов.

Источник

Canon lide 210 не работают кнопки

Этот форум закрыт. Спасибо за участие!

Спрашивающий

Вопрос

Есть сканер Canon LIDE 210.

Как написано здесь прописал в реестре мою программу. Она появилась в качестве доступной для выбора на закладке «События» диалога свойств сканера.

У нужной кнопки сканера ставлю отметку «Запустить приложение» и выбираю мою программу.

Читайте также:  Пантеон ghp 100 не работает микрофон

Нажимаю на кнопку на сканере.

Появляется окно выбора программы (процесс wiaacmgr.exe) для действия (например «CanoScan E-MAIL Button») в нем выбираю мою программу и жму ОК. Программа запускается.

Далее все повторяю, но при этом ставлю отметку «Всегда использовать выбранную программу».

И после этого программа по нажатию кнопки на сканере больше не запускается.

Если в данном разделе реестра [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\<6BDD1FC6-810F-11D0-BEC7-08002BE2092F>\0000\Events] удалить запись для моей программы и перезапустить службу «Служба загрузки изображений (WIA)» (stisvc), то при нажатии на кнопку восстанавливается отображение окна выбора программы для действия нажатия кнопки сканера (запускается процесс wiaacmgr.exe).

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

  • Изменен тип Dmitriy Vereshchak Microsoft contingent staff 6 декабря 2013 г. 12:22 Тема переведена в разряд обсуждений по причине отсутствия активности.
  • Изменен тип Mklch 9 декабря 2013 г. 18:55

Все ответы

Да, я Жук, три пары лапок и фасеточные глаза :))

Да, я Жук, три пары лапок и фасеточные глаза :))

Штаная программа — всего-лишь одна из множства программ для сканирования.

В данном случае меня интересует не сама программа сканирования (могу сканировать и штатной), а интересует как сделать так, чтобы при нажатии какой-либо кнопки на сканере сразу запускалась выбранная мной программа (может штатная, может какая другая)

Кстати, сегодня попробовал сканер Epson Perfection V37.

Поведение одинаково — по нажатию кнопки на сканере программа сканирования не запускается.

Всё стало ещё более запутанней.

Сканер LIDE 110:

Непонятно решение, о внесении изменений в реестре. Все настройки выполняются из Панель управления\Устройства и принтеры\ Свойства сканирования Вашего сканера и в штатной программе, для LIDE 110 это MP Navigator EX. У Вас эта программа может называться по другому.

Да, я Жук, три пары лапок и фасеточные глаза :))

  • Изменено Жук MVP 9 декабря 2013 г. 13:18 дополнение

1) Все необходимые драйвера для обоих сканеров были установлены.

2) Все программное обеспечение, которое поставляется со сканером, было установлено.

3) Сканирование работает абсолютно корректно из любых программ (в том числе из штатных).

А теперь, ознакамливаемся с материалами, предоставленными на данном сайте (microsoft.com):

Из чего следует – чтобы была возможность запуска нужной программы при нажатии кнопок на сканере, эта программа (или ее инсталлятор) должны вызвать метод RegisterLaunchApplication интерфейса IStillImage.

Физически записи зарегистрированных приложений находятся здесь – «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\StillImage\Registered Applications».

Для программ, поставляемых со сканером, похоже, это действие выполняется (подобное действие выполняется и для других программ, например, Photoshop).

Вследствие чего имеется возможность выбора данной программы в диалоге свойств сканера панели управления, на закладке «События».

Для кнопок сканера Canon выбираем «MP Navigator EX Ver4.0»

Для кнопок сканера Epson выбираем «EPSON Scan»

Далее нажимаем кнопки на сканерах – ничего не происходит.

Идем опять в свойства сканеров, на закладку «События».

Везде ставим опцию «Предложить выбрать программу для запуска».

Нажимаем кнопку на сканере. Появляется окно «Выберете программу для данного действия» (это окно принадлежит процессу wiaacmgr.exe «Мастер загрузки изображений Windows»)

В нем выбираем нужную программу (там будут только те, что зарегистрированы через RegisterLaunchApplication интерфейса IStillImage).

Нажимаем кнопку ОК и программа запускается («MP Navigator EX Ver4.0», «EPSON Scan», «Photoshop» или любая другая зарегистрированная через RegisterLaunchApplication – выбирайте на свой вкус).

Далее опять нажимаем кнопку на сканере. Опять появляется окно «Выберете программу для данного действия». В нем ставим галочку «Всегда использовать выбранную программу». Нажимаем ОК.

И после этого никакая программа (ни выбранная, ни «Мастер загрузки изображений Windows» больше никогда не запускается).

Далее, в документации Windows и службы StillImage нигде не сказано, что я обязан использовать программное обеспечение «MP Navigator EX Ver4.0», «EPSON Scan». Я волен использовать любое программное обеспечение, которое корректно себя регистрирует в службе StillImage через RegisterLaunchApplication интерфейса IStillImage.

Далее, наблюдается абсолютно одинаковое поведение Windows – что для поставляемых со сканерами программ, что для любых других.

Далее, я задал вопрос не по работе конкретного оборудования (иначе я бы задавал свои вопросы на сайтах canon.com и epson.com). Я задал вопрос по работе одного из компонентов Windows, а именно службе StillImage.

Поэтому мне не понятны ваши отсылки к некой документации, поставляемой с совершенно конкретным экземпляром оборудования (сканер Canon LIDE 110).

Читайте также:  Как настроить умную розетку сбер

По работе служб Windows было бы корректным предоставить информацию из документации на Windows.

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

Но данного факта не происходит.

Поэтому получается – или есть неточности в документации Windows или есть проблемы в работе службы StillImage.

Поэтому я и обратился на форум сайта microsoft.com за разъяснениями по этому вопросу.

Уважаемый Mklch, давайте вести себя более сдержанней и корректней.

Ваша цитата: «Далее, в документации Windows и службы StillImage нигде не сказано, что я обязан использовать программное обеспечение «MP Navigator EX Ver4.0», «EPSON Scan». Я волен использовать любое программное обеспечение, которое корректно себя регистрирует в службе StillImage через RegisterLaunchApplication интерфейса IStillImage.»

Одна из Ваших обязанностей,
— указать GUID для каждого события;
— включить идентификатор GUID в INF-файл драйвера пользовательского режима.
Всё это подчёркнуто в предоставленных Вами ссылках.

Да, я Жук, три пары лапок и фасеточные глаза :))

  • Изменено Жук MVP 9 декабря 2013 г. 22:55 корректировка

1) Давайте без давайте.

2) В обязанности пользователя системы и/или в обязанности разработчика прикладных программ не входит написание inf-файлов драйверов.

3) В приведенных мной ссылках приводится документация на механизмы работы службы StillImage.
Приведены они в целях большей конкретизации возможных предлагаемых мне советов по решению проблемы и для получения возможности лучшего понимания нюансов работы службы StillImage.

1) Давайте без давайте.

2) В обязанности пользователя системы и/или в обязанности разработчика прикладных программ не входит написание inf-файлов драйверов.

3) В приведенных мной ссылках приводится документация на механизмы работы службы StillImage.
Приведены они в целях большей конкретизации возможных предлагаемых мне советов по решению проблемы и для получения возможности лучшего понимания нюансов работы службы StillImage.

По 1 пункту, не Я начал, по этой причине — без комментариев и больше не обсуждаю;

По 3 пункту, в приведённых Вами ссылках, расписан механизм и порядок действия Пользователя, желающего применить свой подход к решению своей задачи. По этой причине, пункт 2 так же — без комментариев и не обсуждается.

Для решения, я бы руководствуясь представленными Вами ссылками, систематизировал информацию и составил карту, в которой прописал бы пошаговый порядок с указанием всех необходимых действий и изменений, которые необходимо внести. Каждый шаг карты, имеет вполне физическую команду для проверки правильности его выполнения.

Да, я Жук, три пары лапок и фасеточные глаза :))

По 3 пункту, в приведённых Вами ссылках, расписан механизм и порядок действия Пользователя, желающего применить свой подход к решению своей задачи. По этой причине, пункт 2 так же — без комментариев и не обсуждается.

Приведенные мной ссылки имеют вид — http://msdn.microsoft.com/.

На сайте Microsoft «msdn» означает «Microsoft Developer Network», что в переводе означает «Сеть разработчиков Microsoft».

Я не вижу здесь слова «пользователь».

Поэтому, еще раз повторяю:

Ссылки приведены в целях большей конкретизации возможных предлагаемых мне советов по решению проблемы и для получения возможности лучшего понимания нюансов работы службы StillImage.

Для решения, я бы руководствуясь представленными Вами ссылками, систематизировал информацию и составил карту, в которой прописал бы пошаговый порядок с указанием всех необходимых действий и изменений, которые необходимо внести. Каждый шаг карты, имеет вполне физическую команду для проверки правильности его выполнения.

Привожу вашу загадочную карту:

1) устанавливаем драйвера сканера
2) втыкаем usb-кабель в сканер
3) втыкаем usb-кабель в компьютер
4) ждем когда Windows установит новое устройство
5) нажимаем на кнопку на сканере
6) в появившемся окне «Выберете программу для данного действия» выбираем «MP Navigator EX Ver4.0», ставим галочку «Всегда использовать выбранную программу», нажимаем на кнопку «ОК»
8) сканируем в запущенной программе «MP Navigator EX Ver4.0» и радуемся нашей счастливой жизни
9) закрываем программу «MP Navigator EX Ver4.0»/«EPSON Scan»
10) нажимаем на кнопку на сканере
11) ждем.
12) ждем.
13) ждем.
14) многократно нажимаем на все кнопки на сканере.
15) ждем.
16) ждем.
17) ждем.
18) многократно нажимаем на все кнопки на сканере.
19) ждем.
20) ждем.
21) ждем.
.
.
99) наша счастливая жизнь закончилась

Вопрос – как сделать так, чтобы жизнь опять стала счастливой?

Источник

Adblock
detector