Что нового

[Автоматизация] Помогите автоматизировать закрытие окна 1с

lamakob

Новичок
Сообщения
6
Репутация
0
Версия AutoIt: 3.
последняя
Описание:
Помогите, пожалуйста, автоматизировать нажатие кнопки Перезапустить. Текст может быть в окне разным.
Примечания:
 

Вложения

  • 2.PNG
    2.PNG
    4.4 КБ · Просмотры: 20

CrazyDoc

Новичок
Сообщения
75
Репутация
2
Код:
ControlClick ( "title", "text", controlID [, button = "left" [, clicks = 1 [, x [, y ]]]] )
?
поле "text" можно оставить пустым - "" или ''
Код:
ControlClick ( "title", "", controlID)
 
Автор
L

lamakob

Новичок
Сообщения
6
Репутация
0
Я только начинающий.
понял идею, буду пробывать, спасибо.
Только 1 вопрос ещё.
Заголовок окна. Такой же в программе - только там более длинный 1с:Предприятие - МояФирма .
Поймет ли autoit ,что это разные окна?
 
Автор
L

lamakob

Новичок
Сообщения
6
Репутация
0
Сделал вот так:
Код:
WinWaitActive("1С:Предприятие")
Send("{LEFT}")
Sleep(2000)
Send("{ENTER}")
MsgBox(0, "1c", "Перезапустили!")


Реагирует и на заголовок окна 1С:Предприятие - МояФирма :(
как поправить?

Используйте для AutoIt кода тег [autoit]
autoit.gif

madmasles.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
lamakob,
Покажите, что выдает AutoIt v3 Window Info на вкладке Summary при наведении на кнопку "Перезапустить" в Вашем окне.
 
Автор
L

lamakob

Новичок
Сообщения
6
Репутация
0
>>>> Window <<<<
Title: 1С:Предприятие
Class: V8NewLocalFrameBaseWnd
Position: 782, 528
Size: 293, 119
Style: 0x96C81000
ExStyle: 0x00000100
Handle: 0x00120956

>>>> Control <<<<
Class: V8FormElement
Instance: 2
ClassnameNN: V8FormElement2
Name:
Advanced (Class): [CLASS:V8FormElement; INSTANCE:2]
ID: 208447496
Text:
Position: 146, 58
Size: 101, 23
ControlClick Coords: 37, 5
Style: 0x56000000
ExStyle: 0x00000000
Handle: 0x001C0C82

>>>> Mouse <<<<
Position: 968, 613
Cursor ID: 0
Color: 0xEBE6D9

>>>> StatusBar <<<<

>>>> ToolsBar <<<<

>>>> Visible Text <<<<


>>>> Hidden Text <<<<
 

CrazyDoc

Новичок
Сообщения
75
Репутация
2
lamakob сказал(а):
Реагирует и на заголовок окна 1С:Предприятие - МояФирма :(
как поправить?
смотрите в параметрах
Код:
WinWaitActive
- заголовки и текст окон(расширенные)

Код:
AutoItSetOption ( "WinTitleMatchMode", 3)
WinWaitActive("1С:Предприятие")
ControlClick ( "1С:Предприятие", "",'[CLASS:V8FormElement; INSTANCE:2]')
Sleep(2000)
Send("{ENTER}")
MsgBox(0, "1c", "Перезапустили!")
 
Автор
L

lamakob

Новичок
Сообщения
6
Репутация
0
CrazyDoc, работает, только последний вопрос. Отрабатывает 1 раз, после перезапуска 1с второй раз не отрабатывает.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
lamakob,
Попробуйте сделать примерно так.
Код:
#NoTrayIcon
Opt('WinTitleMatchMode', 3)

Global $iPID = ProcessExists('1С.exe');поменяйте на имя процесса 1С:Предприятие

HotKeySet('{Esc}', '_Exit')
AdlibRegister('_ReStart_1C', 1000)
While ProcessExists($iPID)
	Sleep(1000)
WEnd

Func _ReStart_1C()
	Local $h_Wnd = WinGetHandle('[Title:1С:Предприятие; Class:V8NewLocalFrameBaseWnd]')
	If (Not $h_Wnd) Or (Not BitAND(WinGetState($h_Wnd), 2)) Then Return
	ControlClick($h_Wnd, '', '[CLASS:V8FormElement; INSTANCE:2]')
EndFunc   ;==>_ReStart_1C

Func _Exit()
	Exit
EndFunc   ;==>_Exit
 
Автор
L

lamakob

Новичок
Сообщения
6
Репутация
0
Всем спасибо за подсказки.
В итоге взял от всех по чуть чуть. Вот мой рабочий скрипт.
While 1
AutoItSetOption ( "WinTitleMatchMode", 3)
WinWait("1С:Предприятие")
WinActivate("1С:Предприятие")
ControlClick ( "1С:Предприятие", "",'[CLASS:V8FormElement; INSTANCE:2]')
Sleep(2000)
Send("{ENTER}")
wend
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
lamakob,
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.
 
Верх