|
0 / 0 / 0
Регистрация: 27.01.2016
Сообщений: 4
|
||||||
Получить доступ к Listview сторонней программы через SendMessage27.01.2016, 14:56. Показов 1904. Ответов 10
Метки нет (Все метки)
Всем привет.
Проблема заключается в следующем: в сеть включено МФУ, на котором нужно сканировать. Для этого устанавливается программка Sharp Button Manager U, в настройках которой я указываю, что при нажатии на кнопку на самом аппарате, он должен отсканировать и сохранить файл в определённой папке у меня на компе. Но при нажатии на эту кнопку он не сразу сканирует, а отправляет запрос на комп через что нужно сканировать (скрин прикрепил). Бегать после каждой страницы - это глупо. Поэтому я решил написать программку, которая будет постоянно проверять или появился такой запрос на компе, и если да, то она сама должна выбрать нужный пункт из списка (а именно Sharp Button Manager U) и нажать на кнопку ОК. С оглашением функций, констант и определением самого окна всё понятно:
Может кто-нибудь помочь?
0
|
||||||
| 27.01.2016, 14:56 | |
|
Ответы с готовыми решениями:
10
Получить логин из сторонней программы Как получить скриншот сторонней программы? Закрытие сторонней программы через определенное время |
|
Модератор
4356 / 3426 / 512
Регистрация: 27.01.2014
Сообщений: 6,257
|
|
| 27.01.2016, 15:05 | |
|
elLoco, а разве в настройках сканера или Button Manager нет возможности выбрать программу по-умолчанию?
0
|
|
|
Модератор
4356 / 3426 / 512
Регистрация: 27.01.2014
Сообщений: 6,257
|
|
| 27.01.2016, 15:15 | |
|
elLoco, я может быть сейчас буду не прав, это настраивается в настройках самого ButtonManager.
Вот страница из мануала:
0
|
|
|
147 / 135 / 34
Регистрация: 28.02.2014
Сообщений: 165
|
||||||
| 27.01.2016, 15:18 | ||||||
|
Наверно после того как выбрал окно надо вычислить последовательность каких нажатий клавиш на клавиатуре выделят нужный элемент в SysListView32, и попробовать отправить эту последовательность через "SendKeys":
0
|
||||||
|
Модератор
4356 / 3426 / 512
Регистрация: 27.01.2014
Сообщений: 6,257
|
|
| 27.01.2016, 15:28 | |
|
Обратите внимание на БЛОК #2 и его описание.
Добавлено через 4 минуты Ну а если уж не терпится попрактиковаться в программировании, то vova2112 подсказывает... определите что окно появилось и оно на переднем плане (Get/SetForegroundWindow) и отправьте последовательно нажатия клавиш... полжно получиться. Добавлено через 4 минуты А убедиться в правильности посылки этих команд можете простой проверхой присутствия данного окна, если оно закрытось - значит запущено сканирование.
2
|
|
|
0 / 0 / 0
Регистрация: 27.01.2016
Сообщений: 4
|
||
| 27.01.2016, 16:54 [ТС] | ||
|
Я читал этот мануал. Мне не нужно сканировать через программу на компе (хотя я и такие настройки в ButtonManager пробовал), мне нужно сразу сохранить скан в pdf в определённой папке. И в ButtonManager я все нужные мне параметры выставил. Но комп всё-равно выдаёт запрос.
Добавлено через 6 минут
0
|
||
|
Модератор
4356 / 3426 / 512
Регистрация: 27.01.2014
Сообщений: 6,257
|
||||||
| 27.01.2016, 18:26 | ||||||
|
elLoco, тогда давайте начнем с того, что функции у вас объявлены не корректно для VB.NET
такое объявление подойдет для VB6... Вот корректное, но не совсем правильное объявление для VB.NET, но возвращающее правильноые значения:
0
|
||||||
|
0 / 0 / 0
Регистрация: 27.01.2016
Сообщений: 4
|
||
| 28.01.2016, 11:14 [ТС] | ||
|
0
|
||
|
Модератор
4356 / 3426 / 512
Регистрация: 27.01.2014
Сообщений: 6,257
|
|
| 28.01.2016, 11:19 | |
|
elLoco, ваш вариант SendMessage был неверен, и в каких-то моментах мог вас подвести.
Что дальше? Ну SendMessage посылает команды компоненту, нужно разобраться, какие именно команды вы хотите ему послать...
0
|
|
|
0 / 0 / 0
Регистрация: 27.01.2016
Сообщений: 4
|
|
| 28.01.2016, 13:32 [ТС] | |
|
0
|
|
|
Модератор
4356 / 3426 / 512
Регистрация: 27.01.2014
Сообщений: 6,257
|
|||||||||||
| 28.01.2016, 16:05 | |||||||||||
|
Нажать ОК - пока отложим, это мелочи...
Вот что гугл говорит по этому поводу: Сообщения компоненту ListView Думаю вам нужно вот это сообщение: LVM_SETITEMSTATE Добавлено через 1 час 41 минуту elLoco, нашел кое какой пример, но пишут что он не работает должным образом, доработайте и должно получиться:
А вот этот код заверяют как РАБОЧИЙ. Разберите его и подгоните под себя. Думаю его можно укоротить. Он выделяет по индексу, но получить индекс можно получив список всех элементов списка и отправить тот индекс, что соответствует нужному тексту (вобщем думаю такой инфы будет достаточно "ЗА ГЛАЗА"):
Не по теме: Надеюсь как закончите программку, исходник мы увидим? Уж больно интересно да может кому пригодится :)
3
|
|||||||||||
| 28.01.2016, 16:05 | |
|
Помогаю со студенческими работами здесь
11
Креш при запуске сторонней программы через Shell(WinAPI)
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|