Нажатие на PictureBox с помощью AutoIt ControlClick не работает

Я пытаюсь автоматически щелкнуть элемент управления PictureBox из старого приложения VB6, используя AutoIt. Window Info находит элемент управления с классами ThunderRT6PictureBoxDC и ID 15, и AutoIt успешно скрывает его, если я запускаю...

ControlHide($class, "", "[ID:15]")

Однако, когда я пытаюсь щелкнуть по нему, используя:

ControlClick($class, "", "[ID:15]")

... ничего не происходит - и @error сбрасывается.

Щелчок с помощью MouseClick с координатами управления работает, но тогда я должен убедиться, что окно ничем не закрыто.

Кто-нибудь знает, почему ничего не происходит, и что я могу сделать, чтобы обойти это, не прибегая к MouseClick?


person Anders Lindahl    schedule 25.03.2011    source источник
comment
Я бы разобрал Spy++, чтобы посмотреть, какие сообщения AutoIt отправляет элементу управления PictureBox, и посмотреть, как это отличается от того, что вы действительно хотите выполнить.   -  person Joe Jordan    schedule 26.03.2011
comment
Вы уверены, что MouseClick требует, чтобы щелкнутая точка окна была видна?   -  person wqw    schedule 26.03.2011


Ответы (1)


Я не знаю AutoIt, но, возможно, это связано с тем, что элемент управления представляет собой PictureBox, а не кнопку, поэтому Windows не поддерживает концепцию «щелчка» по этому элементу управления. Не могу придумать альтернативный обходной путь.

person MarkJ    schedule 25.03.2011