Автор Тема: MouseClick работает НЕ в любой версии Винды!  (Прочитано 3596 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Boris76 [?]

  • Новичок
  • *
  • Сообщений: 10
  • Репутация: 0
    • Награды
Доброго времени суток всем!
 Кто-нибудь сталкивался с такой проблемой?

 В Autoit-скрипте не отрабатывают функции, связанные с мышью,
 если скрипт выполняется не под ХР.

 Скрипт очень простой:
 - запускается одно приложение,
 - ожидается открытие его главного окна,
 - определяются координаты этого окна,
 - относительно этих координат вычисляется точка,
   где надо кликнуть мышью (на кнопку),
 - MouseClick("left").

  Последний пункт НЕ отрабатывает, если скрипт выполняется
 на следующих ОСях:
 - Windows-7 Prof;
 - MS Server-2008;
 - виртуальный MS Server-2008 (RDP-session).
   Хотя хэндл окна и координаты не нулевые.

  Все системы лицензионные и обновлены по максимуму.

  На XP SP3 всё нормально отрабатывает! Специально сделал
 одну ХР-шку на виртуалке - и там работает! И в сеансе
 RDP на XP-шке всё прекрасно работает! Причём разрешение
 экрана во всех случаях разное, но скрипт без каких-либо
 изменений работает! Ниже выкладываю таблицу разрешений
 экрана для всех испробованных случаев.

  Что пробовал:
 - полную форму MouseClick, когда указаны координаты точки
   и сколько кликов (по 1 и по 2 клика пробовал);
 - перед MouseClick делал MouseMove к заданной точке -мышь
   не движется (если ось не ХР);
 - менял скорость движения мыши (если меньше 100, то можно
   добиться, что и на ХР двигаться не будет);
 - ControlClick для той кнопки на главном окне (аналогично:
   на ХР работает, на других осях - нет!);
 - поскольку сервера все 64-битные пробовал переустанавливать
   AutoIt как х64 и как х86, компилировал ехе-шники в формате х64
   и х86 (перебрал все варианты на всех этих системах);
 - задавал вопрос на англоязычном форуме на сайте разработчиков,
   они ответили ерунду:
   что эти функции (с мышью которые работают) сильно зависят
   от разрешения экрана! Ниже привожу таблицу, в которой видно,
   что на ХР-шке работает и при 800х600х32, и при 1024х768х16,
   и при 1440х900х32.
   Тем не менее скачал хорошую прогу dc.exe (Display Changer) и
   пытался изменить разрешение экрана на моих виртуальных
   серверах (их у меня два) - не меняет, говорит драйвер графического
   устройства failed для указанного режима.
   А техподдержка сказала, что для сеанса RDP эти параметры значения
   не имеют.
 - запускал скрипт на виртуальных серверах через назначенные задания,
   чтобы он отработал без сеанса RDP - НЕ отрабатывает!
 - перед входом по RDP задавал разные значения разрешений экрана,
   не влияют они (т.е. на ХР-шке как работало, так и работает, а
   на других - НЕ работает).

  Что ещё попробовать не знаю, все мозги уже сломал! Может, какая-то
 служба должна быть включена? Или наоборот, отключена?

  Вот текст скрипта:
--------------------
Код: AutoIt [Выделить]
Global $size
Global $hWnd

;Opt("GUIOnEventMode", 1)
Opt("WindowTitleMatchMode",3)

Run("C:\AA_v3.exe") ; start Ammyy-application
Sleep (5000)
   $hWnd = WinWaitActive("Ammyy Admin v3.0 - Free", "", 10)
   $size = WinGetPos($hWnd)
;   MsgBox(0, "Active window stats (x,y,width,height):", $size[0] & " " & $size[1] & " " & $size[2] & " " & $size[3], 5)
;   MsgBox (0, "hWnd=", $hWnd, 5)
   MouseMove ( $size[0]+300, $size[1]+240, 100 )    ; button "connect"
   MouseClick ( "left" )
;   ControlClick ("Ammyy Admin v3.0 - Free", "", 1507 ) ; 1507 - ID of button "Connect"
   Sleep (5000)
 

----------------------------------------------------

  Вот таблица разрешений экрана для разных случаев:
(нажмите для показа/скрытия)
------------------------------------------------------------------------------------------------------------

  При анализе таблицы видно, что:
 - на ХР-шке работает при разных разрешениях;
 - на других осях НЕ работает (тоже при разных разрешениях).

  Обращаюсь к корифеям этого форума: подскажите, в какую сторону копать?
 Спасибо.

 :stars:
« Последнее редактирование: Февраль 15, 2013, 16:27:09 от Boris76 »

Русское сообщество AutoIt

MouseClick работает НЕ в любой версии Винды!
« Отправлен: Февраль 15, 2013, 10:33:07 »

Оффлайн Yuriy [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 737
  • Репутация: 281
  • Пол: Мужской
    • Награды
Re: MouseClick работает НЕ в любой версии Винды!
« Ответ #1, Отправлен: Февраль 15, 2013, 10:59:28 »
Цитировать
в какую сторону копать?
Возможно в эту (взято из справки):
Код: AutoIt [Выделить]
; Этот скрипт требует наличия полных прав администратора
#RequireAdmin
MsgBox(0, "Инфо", "У этого скрипта есть права администратора! ")

Заключи свой код в посте в тэги autoit


OS Windows XP Professional Rus OEM 2002 SP3

Оффлайн Boris76 [?]

  • Новичок
  • *
  • Сообщений: 10

  • Автор темы
  • Репутация: 0
    • Награды
Re: MouseClick работает НЕ в любой версии Винды!
« Ответ #2, Отправлен: Февраль 15, 2013, 14:06:17 »
  Нашёл в справке про #RequireAdmin, сделал как там показано.
 Не помогло. Тогда скомпилировал ехе-шник и сделал "Run as Administrator" -
 не помогло. Тогда запустил командную строку от имени  администратора
 (хотя я и так всегда вхожу как админ), встал в директорию со своим
 скриптом и запустил ехе-шник - не помогло!
  Повторил все эти действия для варианта с ControlClick - не помогло.
 Это было на Win-7 сначала. Потом проделал всё то же самое на
 виртуальном сервере-2008 - НЕ работают команды, связанные с мышью!
 Остальные работают! Кстати, если бы причина была в правах админа,
 остальные команды тоже не работали бы?
  Также пробовал отрубать антивирус и FW, но это уже явные "танцы с
 бубном"...
  Ещё попробовал ставить два тэга: один - первой строкой скрипта,
 другой - последней. С тем же результатом.

  Ещё идеи есть?
 Может, всё же служба какая-то? Типа DDE?
 :think:

Оффлайн Kaster [?]

  • Бритва, Бритва Оккама
  • Глобальный модератор
  • *
  • Сообщений: 4016
  • Репутация: 622
  • Пол: Мужской
  • Мой Аватар, он лучший самый
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: MouseClick работает НЕ в любой версии Винды!
« Ответ #3, Отправлен: Февраль 15, 2013, 14:07:26 »
Boris76

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


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

Русское сообщество AutoIt

Re: MouseClick работает НЕ в любой версии Винды!
« Ответ #3 Отправлен: Февраль 15, 2013, 14:07:26 »

Оффлайн Boris76 [?]

  • Новичок
  • *
  • Сообщений: 10

  • Автор темы
  • Репутация: 0
    • Награды
Re: MouseClick работает НЕ в любой версии Винды!
« Ответ #4, Отправлен: Февраль 15, 2013, 14:16:27 »
  Извиняюсь, виноват, не слишком внимательно прочитал правила форума.
 Теперь понял, о каких тэгах шла речь. Буду заключать в тэги.

Оффлайн Kaster [?]

  • Бритва, Бритва Оккама
  • Глобальный модератор
  • *
  • Сообщений: 4016
  • Репутация: 622
  • Пол: Мужской
  • Мой Аватар, он лучший самый
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: MouseClick работает НЕ в любой версии Винды!
« Ответ #5, Отправлен: Февраль 15, 2013, 14:20:34 »
Boris76
на будущее это хорошо, но начни пож-та с сообщения в шапке темы

Оффлайн Boris76 [?]

  • Новичок
  • *
  • Сообщений: 10

  • Автор темы
  • Репутация: 0
    • Награды
Re: MouseClick работает НЕ в любой версии Винды!
« Ответ #6, Отправлен: Февраль 15, 2013, 14:35:54 »
Надо укоротить название темы? Сколько слов оставить?

Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3224
  • Репутация: 848
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: MouseClick работает НЕ в любой версии Винды!
« Ответ #7, Отправлен: Февраль 15, 2013, 15:25:38 »
Boris76
Вас просят отредактировать своё первое сообщение. Нужно код скрипта заключить в теги [ autoit ][ /autoit ] (без пробелов) - третья кнопка слева во втором ряду.

Русское сообщество AutoIt

Re: MouseClick работает НЕ в любой версии Винды!
« Ответ #7 Отправлен: Февраль 15, 2013, 15:25:38 »

Оффлайн Boris76 [?]

  • Новичок
  • *
  • Сообщений: 10

  • Автор темы
  • Репутация: 0
    • Награды
Re: MouseClick работает НЕ в любой версии Винды!
« Ответ #8, Отправлен: Февраль 15, 2013, 15:37:44 »
  Я не против чтобы отредактировать, могу и спойлеров наставить. Но я не знал, что можно редактировать
 то, что уже отправлено. И не могу найти эти "ряды кнопок"! Пожалуйста, ткните носом.



Добавлено: Февраль 15, 2013, 15:40:54
кнопку для тэга [ autoit ] нашёл. А как открыть первый пост для редактирования?

Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3224
  • Репутация: 848
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: MouseClick работает НЕ в любой версии Винды!
« Ответ #9, Отправлен: Февраль 15, 2013, 15:44:26 »
Boris76  [?]
OffTopic
Цитировать
Пожалуйста, ткните носом
У меня на IE8 у каждого моего сообщения в правом верхнем углу есть ссылка "Изменить". При нажатии на неё открывается новая вкладка с текстом сообщения. Над текстом ряды кнопок и смайлики.

Оффлайн Dm666 [?]

  • Осваивающий
  • **
  • Сообщений: 212
  • Репутация: 48
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.8.0
Re: MouseClick работает НЕ в любой версии Винды!
« Ответ #10, Отправлен: Февраль 23, 2013, 16:44:20 »
Boris76
Пользуюсь Win7 x64. Имеется несколько скриптов использующих MouseClick - все прекрасно работают.
Попробовал приведенный вами скрипт - действительно не отрабатывает.

Отсюда вывод, что MouseClick здесь ни при чем и проблема в самом AmmyyAdmin. Путем нехитрых тестов выяснил, что когда его окно активно - все мышиные функции перестают работать. Вряд ли это лечится.

PS: То же самое наблюдается и при активном окне диспетчера задач.
« Последнее редактирование: Февраль 23, 2013, 16:55:20 от Dm666 »

Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3224
  • Репутация: 848
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: MouseClick работает НЕ в любой версии Винды!
« Ответ #11, Отправлен: Февраль 23, 2013, 17:38:02 »
Dm666  [?]
Цитировать
проблема в самом AmmyyAdmin
Проблема с Ammyy Admin в том, что она запускается под учётной записью "система", а скрипт под учётной записью пользователя. В настройках Ammyy Admin на вкладке "Общие" отключите опцию "Запускать под системным аккаунтом на Windows Vista/7/2003/2008" (это для русской версии 3.1) и всё заработает.

Оффлайн Dm666 [?]

  • Осваивающий
  • **
  • Сообщений: 212
  • Репутация: 48
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.8.0
Re: MouseClick работает НЕ в любой версии Винды!
« Ответ #12, Отправлен: Февраль 23, 2013, 21:36:55 »
InnI  [?]
Цитировать
Проблема с Ammyy Admin в том, что она запускается под учётной записью "система", а скрипт под учётной записью пользователя. В настройках Ammyy Admin на вкладке "Общие" отключите опцию "Запускать под системным аккаунтом на Windows Vista/7/2003/2008" (это для русской версии 3.1) и всё заработает.
Все так и есть! Спасибо, заработало.

Русское сообщество AutoIt

Re: MouseClick работает НЕ в любой версии Винды!
« Ответ #12 Отправлен: Февраль 23, 2013, 21:36:55 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
0 Ответов
2547 Просмотров
Последний ответ Декабрь 05, 2009, 16:55:02
от abb
18 Ответов
7522 Просмотров
Последний ответ Ноябрь 09, 2010, 23:37:02
от renom
4 Ответов
2381 Просмотров
Последний ответ Декабрь 09, 2011, 23:47:46
от CreatoR
8 Ответов
7282 Просмотров
Последний ответ Январь 02, 2012, 10:09:45
от gdrtgdsw
0 Ответов
1384 Просмотров
Последний ответ Апрель 24, 2013, 21:20:55
от CreatoR
3 Ответов
693 Просмотров
Последний ответ Октябрь 23, 2014, 13:26:24
от GUIMish
2 Ответов
830 Просмотров
Последний ответ Ноябрь 22, 2015, 05:49:27
от ВиталийВВ
3 Ответов
722 Просмотров
Последний ответ Декабрь 12, 2015, 23:30:44
от Alofa
4 Ответов
581 Просмотров
Последний ответ Август 22, 2016, 00:07:47
от SNAK
2 Ответов
3333 Просмотров
Последний ответ Октябрь 08, 2016, 12:11:47
от Garrett