Что нового

Почему при работе скрипта в фоне, может нажиматься Shift или Ctrl?

Nilson

Новичок
Сообщения
21
Репутация
0
Собственно заметил, что при работе скрипта очень часто клавиша Shift самопроизвольно нажимается и иногда даже зажимается на время, так же как и Ctrl. Скрипт работает через ControlSend в неактивное окно, но клавиши Shift и Ctrl в скрипте не используются совершенно. Используются клавиши W, E, Q и SPACE. Что это может быть?
 
Автор
N

Nilson

Новичок
Сообщения
21
Репутация
0
Обалдеть. Тема 12 года и ошибка все еще актуальна? Мдя, масштабненько.
 
Автор
N

Nilson

Новичок
Сообщения
21
Репутация
0
Там написано, если я верно понял, что эта ошибка фича работает с Send. Просто ControlSend ничего.
И я так понял ControlSend("", "", "", "text", 0) способ борьбы с этим? Вставлять после каждого нажатия клавиш, верно? Простите, с английским в школе на знакомили, а гугл переводить нормально еще не научился.
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Nilson [?]
Вставлять после каждого нажатия клавиш, верно?
Не совсем. Данный метод обычно используется при завершении скрипта. Конечно, можно эту строчку вставлять везде, но тогда она будет вам мешать работать. Я так понимаю, вы хотите работать параллельно со скриптом? Тогда лучше использовать "первый" вариант, переписав функцию _SendEx() под ControlSend().

клавиши Shift и Ctrl в скрипте не используются совершенно. Используются клавиши W, E, Q
Если вы в скрипте указываете клавиши в верхнем регистре, то будет нажат Shift, т.к. W = Shift+w (см. справку). Ну а ctrl, вероятно, вы нажимаете сами во время работы и он "накладывается" на отправку клавиш скриптом.
 
Автор
N

Nilson

Новичок
Сообщения
21
Репутация
0
Так у меня и так все нажатия клавиш через ControlSend идут и один фиг глючит.
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Nilson [?]
через ControlSend идут
Вы меня не поняли. Я говорил про реальную клавишу CTRL, которую вы нажимаете на клавиатуре во время работы, а скрипт в это время имитирует нажатия других клавиш.

Send и ControlSend имеют одинаковые проблемы и с залипанием клавиш и с раскладкой по умолчанию и др. Например, в неактивном окне ControlSend() без указания элемента будет выполнен, как Send() в активном.
 
Верх