powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Написать скрипт vbs для автоматического запуска сканирования
14 сообщений из 14, страница 1 из 1
Написать скрипт vbs для автоматического запуска сканирования
    #38768174
Arthur26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день,
Хочу написать скрипт для автоматического запуска сканирования (Win7):

Option Explicit
dim WshShell
set WshShell = WScript.CreateObject("Wscript.Shell")
WshShell.Run("wiaacmgr")
WshShell.SendKeys ("{Enter}")

Но запускается несколько копий приложения "New Scan".
Можно ли запустить одну копию приложения и сымитировать нажатие кнопки Scan Enter'ом?

Спасибо за советы.
...
Рейтинг: 0 / 0
Написать скрипт vbs для автоматического запуска сканирования
    #38768268
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arthur26,
Код: vbnet
1.
2.
3.
4.
5.
on error resume next
set WshShell = WScript.GetObject(,"Wscript.Shell")
if WshShell is nothing then
set WshShell = WScript.CreateObject("Wscript.Shell")
end if


вроде как-то так должно быть...
...
Рейтинг: 0 / 0
Написать скрипт vbs для автоматического запуска сканирования
    #38768715
Arthur26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_Prist,
К сожаленью, я снова прошу помощи, т.к. запускается куча экземпляров "New Scan".
Никак не получается запустить одну копию и "нажать" на Enter, т.е. нажать на кнопку Scan.
Спасибо.
...
Рейтинг: 0 / 0
Написать скрипт vbs для автоматического запуска сканирования
    #38768730
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arthur26запускается куча экземпляров "New Scan".При однократном исполнении кода???
...
Рейтинг: 0 / 0
Написать скрипт vbs для автоматического запуска сканирования
    #38768743
Arthur26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,
Да, при однократном исполнении кода. Привожу код:

Option Explicit
On error resume next
Dim WshShell

Set WshShell = WScript.GetObject(,"Wscript.Shell")
if WshShell is nothing then
Set WshShell = WScript.CreateObject("Wscript.Shell")
WshShell.Run("wiaacmgr")
WshShell.SendKeys ("{Enter}")
end if
...
Рейтинг: 0 / 0
Написать скрипт vbs для автоматического запуска сканирования
    #38768747
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модератор: Arthur26, освойте пожалуйста тэги оформления кода
...
Рейтинг: 0 / 0
Написать скрипт vbs для автоматического запуска сканирования
    #38768752
Arthur26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Извиняюсь,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Option Explicit
On error resume next
Dim WshShell

Set WshShell = WScript.GetObject(,"Wscript.Shell")
if WshShell is nothing then
Set WshShell = WScript.CreateObject("Wscript.Shell")
WshShell.Run("wiaacmgr")
WshShell.SendKeys ("{Enter}")
end if
...
Рейтинг: 0 / 0
Написать скрипт vbs для автоматического запуска сканирования
    #38768764
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arthur26,

Вообще я недоглядел - при таком подходе все верно, так и будет запускаться, т.к.
Код: vbnet
1.
WshShell.Run("wiaacmgr")


запускает приложение сканирования. Run не смотрит, запущен ли уже экземпляр приложения - она всегда создает новый независимый процесс. По идее Вам правильнее было бы создать цикл, в котором создавать сканы. Либо можно попробовать так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Option Explicit
Dim WshShell,WshExec,h

Set WshShell = WScript.CreateObject("Wscript.Shell")
On error resume next
Set WshExec = WshShell.Exec("wiaacmgr")
if WshShell is nothing then
    set WshExec = WshShell.Run("wiaacmgr")
end if
h = WshShell.AppActivate(WshExec.ProcessID)
If h then WshShell.SendKeys ("{Enter}")
...
Рейтинг: 0 / 0
Написать скрипт vbs для автоматического запуска сканирования
    #38768765
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_Prist
Код: vbnet
1.
if WshShell is nothing then

Должно быть
Код: vbnet
1.
if WshExec is nothing then
...
Рейтинг: 0 / 0
Написать скрипт vbs для автоматического запуска сканирования
    #38768809
Arthur26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_Prist,
Сейчас запускается один экземпляр New Scan, активна кнопка Scan, но не получается нажать на кнопку Scan.
...
Рейтинг: 0 / 0
Написать скрипт vbs для автоматического запуска сканирования
    #38768837
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arthur26,

попробуйте убрать: If h then
...
Рейтинг: 0 / 0
Написать скрипт vbs для автоматического запуска сканирования
    #38768875
Arthur26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_Prist,

Нет, к сожаленью, и таким образом не получается "нажать" на кнопку Scan.
...
Рейтинг: 0 / 0
Написать скрипт vbs для автоматического запуска сканирования
    #38774024
prologos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist, не знаю что у парня не получается, у меня кенон работает на Ваш код:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Option Explicit
Dim WshShell,WshExec,h

Set WshShell = WScript.CreateObject("Wscript.Shell")
On error resume next
Set WshExec = WshShell.Exec("wiaacmgr")
if WshExec is nothing then
    set WshExec = WshShell.Run("wiaacmgr")
end if
h = WshShell.AppActivate(WshExec.ProcessID)
If h then WshShell.SendKeys ("{Enter}")
...
Рейтинг: 0 / 0
Написать скрипт vbs для автоматического запуска сканирования
    #38774357
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
prologos,

Может поставить между запуском процесса и AppActivate - Sleep, чтобы хотя бы окно успело сканера загрузиться.

--
Без AppActivate понятное дело второй раз запускалось, так как, если запускать через Explorer, файл был выделен, и посылка "Enter" приводила к повторному запуску WScript и выполнению кода
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Написать скрипт vbs для автоматического запуска сканирования
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]