Автор Тема: Залипание кнопки "CTRL"  (Прочитано 14327 раз)

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

Оффлайн asdf8 [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 560
  • Репутация: 151
    • Награды
Залипание кнопки "CTRL"
« Создано: Апрель 07, 2012, 16:19:02 »
Если запустить на WinXP sp3 x86 такой скрипт:
Код: AutoIt [Выделить]
HotKeySet('^=', '_Exit')

While 1
    Sleep(100)
WEnd

Func _Exit()
    Send('')
    Exit
EndFunc
 

и нажать сочетание клавиш правый "CTPL" и "=",  скрипт завершит свою работу, но левый "CTPL" останется зажатым. Насколько понимаю, происходит это из-за того, что не закрывается библиотека user32.dll.
Если такое происходит не только у меня, может попросить разработчиков, чтобы исправили. И еще, может добавить к функциям HotKeySet, Send опциональный параметр $dll, чтобы можно было использовать уже открытый хэндл библиотеки и, соответственно, самому закрыть этот хэндл при выходе из скрипта.

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

Залипание кнопки "CTRL"
« Отправлен: Апрель 07, 2012, 16:19:02 »

Оффлайн AZJIO [?]

  • VIP
  • *
  • Сообщений: 2712
  • Репутация: 1137
    • мой сайт
    • Награды
  • Версия AutoIt: 3.3.8.1
Re: Залипание кнопки "CTRL"
« Ответ #1, Отправлен: Апрель 07, 2012, 16:47:03 »
asdf8
У меня не остаётся зажатым, так как при нажатии "С" выделенный текст не копируется, а вводится буква "с".

Оффлайн asdf8 [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 560

  • Автор темы
  • Репутация: 151
    • Награды
Re: Залипание кнопки \"CTRL\"
« Ответ #2, Отправлен: Апрель 07, 2012, 16:54:25 »
AZJIO  [?]
Цитировать
У меня не остаётся зажатым, так как при нажатии "С" выделенный текст не копируется, а вводится буква "с".

У меня в SciTE при прокрутке колеса мыши вместо прокрутки страницы, страница начинает масштабироваться и "С" копирует выделенный текст, и так происходит, пока не нажмёшь левый "CTPL"


Добавлено: Апрель 07, 2012, 17:36:11
Попробовал еще на одном компе, там виндос устанавливался из другого дистрибутива - такая-же фигня.

Zaramot  [?]
Цитировать
А ты попробуй добавить:
Send('{CTRLUP}')
перед выходом.
это не помогает.
« Последнее редактирование: Апрель 07, 2012, 17:36:11 от asdf8, Причина: Объединение сообщений »

Оффлайн AZJIO [?]

  • VIP
  • *
  • Сообщений: 2712
  • Репутация: 1137
    • мой сайт
    • Награды
  • Версия AutoIt: 3.3.8.1
Re: Залипание кнопки "CTRL"
« Ответ #3, Отправлен: Апрель 07, 2012, 17:59:57 »
asdf8
Это было всегда?
Может несовместимость с программой?
Это случайно не связанно с работой SciTE?
У меня при работе с Notepad++ большая часть клавиш с Alt, в том числе и запуск скрипта или любого файла (bat, htm) в ассоциированной программе по Alt+F5. Иногда глюка захочешь не выловишь, а иногда достаёт на каждом 5-ом запуске, оставляя Alt зажатым. Долго мучился, но теперь догадываться стал быстро, если операция с горячей клавишей неуспешна, жму Alt и повторяю.

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

Re: Залипание кнопки "CTRL"
« Ответ #3 Отправлен: Апрель 07, 2012, 17:59:57 »

Оффлайн asdf8 [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 560

  • Автор темы
  • Репутация: 151
    • Награды
Re: Залипание кнопки "CTRL"
« Ответ #4, Отправлен: Апрель 07, 2012, 18:19:15 »
AZJIO  [?]
Цитировать
Это было всегда?
Заметил вчера, ну и давно было похожее с функцией BlockInput, но я уже не помню подробностей.

Цитировать
Это случайно не связанно с работой SciTE?
Точно не связано - все так же происходит при выключенном SciTE (запускал скомпилированный скрипт)

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7814
  • Репутация: 2282
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Re: Залипание кнопки "CTRL"
« Ответ #5, Отправлен: Апрель 07, 2012, 18:49:05 »
AZJIO  [?]
Цитировать
У меня не остаётся зажатым, так как при нажатии "С" выделенный текст не копируется, а вводится буква "с".
А как связано с "C"?

У меня кстати тоже не залипает.
Залипает если увеличить паузу в Sleep...
Помогает такая же пауза перед Send в функции _Exit.


Правила, Поиск, Супер тема


AutoIt is simple, subtle, elegant.


«Не оказываю тех. поддержку через ПМ/ICQ, и по электронной почте - для этого есть форум. (C)»
«Законы Мэрфи неоспоримы!»


Мои работы

Оффлайн asdf8 [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 560

  • Автор темы
  • Репутация: 151
    • Награды
Re: Залипание кнопки "CTRL"
« Ответ #6, Отправлен: Апрель 08, 2012, 00:34:55 »
Попробовал еще на одной машине WinXP sp2 x86 - тоже залипает.

CreatoR  [?]
Цитировать
Помогает такая же пауза перед Send в функции _Exit.
мне тоже помогло, но, все равно, кажется, что это баг AutoIt.

На версии 3.3.6.1 тоже самое.

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7814
  • Репутация: 2282
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Re: Залипание кнопки "CTRL"
« Ответ #7, Отправлен: Апрель 08, 2012, 01:14:16 »
Проблема скорее всего не в HotKeySet, а в Send.

Пример вызывающий то же поведение:
Код: AutoIt [Выделить]
Send("{LCTRL DOWN}")
Send("{LCTRL UP}")


Похожий тикет уже былещё один), Valik не стал это исправлять :(.

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

Re: Залипание кнопки "CTRL"
« Ответ #7 Отправлен: Апрель 08, 2012, 01:14:16 »

Оффлайн radioamator [?]

  • Новичок
  • *
  • Сообщений: 3
  • Репутация: 0
    • Награды
Re: Залипание кнопки "CTRL"
« Ответ #8, Отправлен: Апрель 08, 2012, 13:48:00 »
Может не в тему. На компьютере запущены скрипты autoit, которые не эмулируют нажатий клавиш. Компьютер включен почти круглосуточно, используется для громоздких расчётов, расчёты производятся в виртуальных машинах VirtualBox в которых запущены скрипты autoit с эмуляцией нажатий клавиш. Иногда залипает "CTRL".
Если залип "CTRL" и я останавливаю виртуальные машины нажатием на "CTRL+P", то "CTRL" разлипает.

Оффлайн asdf8 [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 560

  • Автор темы
  • Репутация: 151
    • Награды
Re: Залипание кнопки "CTRL"
« Ответ #9, Отправлен: Апрель 08, 2012, 14:48:56 »
radioamator
лучше поменьше пользоваться функцией Send - ненадежная она, что с точки зрения передачи текста (лучше использовать ControlSetText или хотя бы буфер обмена), что с точки зрения передачи сочетания клавиш (лучше использовать _WinAPI_Keybd_Event из WinAPIEx)

Оффлайн iamreg [?]

  • Новичок
  • *
  • Сообщений: 7
  • Репутация: 0
    • Награды
Re: Залипание кнопки "CTRL"
« Ответ #10, Отправлен: Декабрь 12, 2012, 17:03:02 »
Использование _WinAPI_Keybd_Event из WinAPIEx помогло полностью избавиться от залипаний в приложении автоматизации работы с экранными формами. До этого не помогало ничего, приходилось физически нажимать CTRL для сброса залипания.

Оффлайн ORLANGUR-M3 [?]

  • Новичок
  • *
  • Сообщений: 14
  • Репутация: 0
    • Награды
Re: Залипание кнопки "CTRL"
« Ответ #11, Отправлен: Февраль 28, 2013, 21:23:21 »
Тоже сталкиваюсь с этой проблемой. Иногда появляются залипания клавиш Ctrl и Shift, наиболее часто в тот момент когда происходит эмуляция нажатия кнопки приложения:
Код: AutoIt [Выделить]
ControlClick($Win,'','TBitBtn2')

Когда замечаю залипание, мне приходится нажимать на каждый Ctrl и Shift чтобы клавиши отлипли.
С эмуляцией мыши - вообще проблемы: программа для которой написан скрипт аварийно завершает свою работу без вывода каких либо предупреждений/ошибок.

Оффлайн Lev [?]

  • Новичок
  • *
  • Сообщений: 1
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Залипание кнопки "CTRL"
« Ответ #12, Отправлен: Август 15, 2017, 15:51:34 »
Стонкнулся с той же проблемой, лечил:
 _WinAPI_Keybd_Event(0x11, 2) ;  CTRL Up
Пруф: autoitscript-dot-com/forum/topic/157677-send-key-problem

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

Re: Залипание кнопки "CTRL"
« Ответ #12 Отправлен: Август 15, 2017, 15:51:34 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
6 Ответов
11979 Просмотров
Последний ответ Октябрь 07, 2009, 09:36:42
от akoulev
12 Ответов
11588 Просмотров
Последний ответ Декабрь 01, 2012, 02:05:11
от defens
1 Ответов
3244 Просмотров
Последний ответ Декабрь 06, 2009, 19:32:04
от snoitaleR
2 Ответов
7324 Просмотров
Последний ответ Ноябрь 02, 2010, 11:58:00
от Linaleks
8 Ответов
20572 Просмотров
Последний ответ Февраль 09, 2011, 22:04:08
от Kaster
8 Ответов
9847 Просмотров
Последний ответ Апрель 10, 2011, 11:50:11
от madmasles
7 Ответов
3247 Просмотров
Последний ответ Август 11, 2012, 02:27:34
от rufik
3 Ответов
8125 Просмотров
Последний ответ Май 31, 2013, 22:09:04
от Kaster
10 Ответов
1953 Просмотров
Последний ответ Сентябрь 20, 2014, 10:49:45
от id.balandin
3 Ответов
1152 Просмотров
Последний ответ Апрель 04, 2015, 20:53:06
от avitaly