Основной раздел > Общие вопросы
Типовые алгоритмы, вводные статьи (Новички, читайте!)
СлавьЯнИнъ:
В переключении языка есть особенность.
Для корректного вывода раскладка должна быть одинакова и в кликере в поле ввода.
ЦИТРИН:
--- Quote from: СлавьЯнИнъ on October 26, 2012, 10:21:09 PM --- раскладка должна быть одинакова и в кликере в поле ввода.
--- End quote ---
Тут непонятный баг. Изначально у меня стоит англ и печатаю от руки в блокноте англ.
Но в момент запуска кликера визуально наблюдается самопроизвольный переход на русскую раскладку в языковой панели.
СлавьЯнИнъ:
1. Отследи постянно ли происходит этот переход.
2. Воспользуйся кодом:
--- Code: ---KEYDOWN (#ALT) // меняем на русскую раскладку
waitms(100)
KEYPRESS (#SHIFT)
waitms(100)
KEYUP (#ALT)
waitms(100)
KEYSTRING ("")
KEYDOWN (#ALT) // меняем обратно
waitms(100)
KEYPRESS (#SHIFT)
waitms(100)
KEYUP (#ALT)
--- End code ---
В моём случае замечено что команда KEYSTRING некорректно работает с раскладкой на русском языке. Мне пришлось писать по русски через KEYPRESS (#z).
Johnny:
--- Quote from: ЦИТРИН on October 26, 2012, 10:50:03 PM ---Тут непонятный баг. Изначально у меня стоит англ и печатаю от руки в блокноте англ.
Но в момент запуска кликера визуально наблюдается самопроизвольный переход на русскую раскладку в языковой панели.
--- End quote ---
просто винда запоминает для каждого приложения раскладку. даже если это калькулятор и вводить ему нечего. насколько я помню за это отвечает процесс ctfmon.exe
можете поэкспериментировать.
вообще с нелатиницей у кейстринга всегда проблемы. поэтому обычно я рекомендую писать "привет мир" как "ghbdtn vbh"
но если кто-то разберется с непонятным багом и сделает его понятным, думаю я смогу его исправить :)
Сергей:
Нафлудили тут.
--- Quote from: Oraven on October 26, 2012, 05:30:14 PM ---Заметь, что должна быть включена английская раскладка.
--- End quote ---
Поправил.
--- Quote from: Johnny on October 27, 2012, 10:03:24 AM ---вообще с нелатиницей у кейстринга всегда проблемы. поэтому обычно я рекомендую писать "привет мир" как "ghbdtn vbh"
--- End quote ---
Почему бы кликерману самому, автоматически не конвертировать русский текст в лытдыбру и сразу печатать? А то сейчас поведение KEYSTRING очень странное.
Вот методом тыка я вывел:
Если в кликермане раскладка русская, то русские строки KEYSTRING понимает, но английские нет. Если раскладка английская, то наоборот.
От этого большая путаница, ведь за раскладкой нужно следить ещё и в целевом окне.
И ещё ввести бы функцию KEYLAYOUT($hwnd) которая возвращает текущую раскладку в заданном hwnd. Ну или хотя бы раскладку активного окна.
--- Quote from: СлавьЯнИнъ on October 27, 2012, 07:47:53 AM ---2. Воспользуйся кодом
--- End quote ---
Вариант чуть по-проще:
--- Code: ---SUB(CHANGE_LAYOUT)
KEYDOWN(#CTRL)
KEYPRESS(#SHIFT)
KEYUP(#CTRL)
KEYDOWN(#ALT)
KEYPRESS(#SHIFT)
KEYUP(#ALT)
END_SUB
--- End code ---
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version