Основной раздел > Общие вопросы

Типовые алгоритмы, вводные статьи (Новички, читайте!)

<< < (2/43) > >>

СлавьЯнИнъ:
В переключении языка есть особенность.
Для корректного вывода раскладка должна быть одинакова и в кликере в поле ввода.

ЦИТРИН:

--- 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