Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Описание: Определение координат мыши и смена раскладки языка
Kibor
Отправлено: 18 Августа, 2013 - 04:11:14
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




Добавились функции смены раскладки языка и определения координат мыши

getmouse - определяет текущие координаты мыши.

Синтаксис:
CODE:
int x, y;
getmouse(x, y);//записывает в x y текущие координаты мыши в экранных координатах


CODE:
int x, y;
getmouse(x, y, w);//записывает в x y текущие координаты мыши в клиентских координатах окна или контрола на который указывает w


==========================================================


sendlanguage - переключает раскладку языка в указанном окне

Синтаксис:
sendlanguage("00000409", w);
"00000409" переключает язык ввода в окне на которое ссылается w на английский.
"00000419" переключает на русский. Коды остальных стран ищите в интернете.

Если вместо указателя w указать 0 - переключает в активном окне.
 
 Top
slava_573
Отправлено: 15 Мая, 2021 - 11:08:58
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 52
Дата рег-ции: Март 2021  
Репутация: 0




спасибо супер функция.
рус\англ меняется отлично.
но вот с другими языками всетаки ви
димо не выйдет.
в моем случае укранский попробовал
00020422
выдало ошибку "Используемый язык в функции "key" не поддерживается. Віберите английский или русский.
(Добавление)
 slava_573 пишет:
спасибо супер функция.
рус\англ меняется отлично.
но вот с другими языками всетаки ви
димо не выйдет.
в моем случае укранский попробовал
00020422
выдало ошибку "Используемый язык в функции "key" не поддерживается. Віберите английский или русский.


простите ошибка была в коде.
все работает на ура!)))
 
 Top
slava_573
Отправлено: 15 Мая, 2021 - 13:19:00
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 52
Дата рег-ции: Март 2021  
Репутация: 0




в тестовом коде все работает на ура. меняет все ок.
но когда код вставился в основную программу - отказывается менять.
немойму в чем может быть проблема(
 
 Top
tchernovjenia
Отправлено: 30 Июня, 2021 - 20:36:28
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 15
Дата рег-ции: Июнь 2021  
Репутация: 0




getmouse определяет текущие координаты мыши я не понимаю как можно сделать плавное перемещение от полученных X Y до нужных мне X Y

(Отредактировано автором: 30 Июня, 2021 - 20:41:35)

 
 Top
Ilya001
Отправлено: 30 Июня, 2021 - 20:46:57
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 459
Дата рег-ции: Май 2020  
Репутация: 23




 tchernovjenia пишет:
getmouse определяет текущие координаты мыши я не понимаю как можно сделать плавное перемещение от полученных X Y до нужных мне X Y

enablerealmouse попробуйте
 
 Top
tchernovjenia
Отправлено: 30 Июня, 2021 - 21:30:30
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 15
Дата рег-ции: Июнь 2021  
Репутация: 0




я не понимаю как правильно сделать !относительное! плавное перемещение от полученных X Y до нужных мне X Y
(Добавление)
 tchernovjenia пишет:
я не понимаю как правильно сделать !относительное! плавное перемещение от полученных X Y до нужных мне X Y

Написал вот это но в игре срывает экран вниз независимо от выставленных значенний (x+, y+) как можно это побороть?

int x, y;
getmouse(x, y);
enablerealmouse(110, 15, 10, 10);
mousemove(x, y+50);
 
 Top
Kibor
Отправлено: 01 Июля, 2021 - 10:55:49
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 tchernovjenia пишет:
int x, y;
getmouse(x, y);
enablerealmouse(110, 15, 10, 10);
mousemove(x, y+50);

Правильно.
Это и есть относительное перемещение на 50 вниз.

Только где то так..
CODE:
enablerealmouse(10, 0, 0, 0);



 tchernovjenia пишет:
но в игре срывает экран вниз независимо ...

Это другой вопрос. Без игры никто не знает.
Может будет работать с антиантикликером?
 
 Top
tchernovjenia
Отправлено: 01 Июля, 2021 - 12:29:50
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 15
Дата рег-ции: Июнь 2021  
Репутация: 0




[/quote]
Это другой вопрос. Без игры никто не знает.
Может будет работать с антиантикликером?[/quote]

Я уже пробовал загружать ПК без проверки подписи драйверов что бы запустить данную функцию игра распознаёт что ПК в тестовом режиме не запускается. Игра Dual Universe

(Отредактировано автором: 01 Июля, 2021 - 12:32:55)

 
 Top
Redear
Отправлено: 18 Января, 2024 - 10:41:11
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 202
Дата рег-ции: Июль 2022  
Репутация: 0




нужно узнать текущую раскладку клавиатуры в активном потоке / окне
нашел функции GetKeyboardLayout и GetKeyboardLayoutNameA
в упор не могу понять как преобразовать ответ в что то читаемое?
прошу помощи

external(INT, "GetKeyboardLayoutNameA", "GetKeyboardLayoutNameA", "User32.dll"Подмигивание;
char ddd[100];
GetKeyboardLayoutNameA(ddd[0]);
...
 
 Top
Zireael
Отправлено: 18 Января, 2024 - 11:23:50
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4461
Дата рег-ции: Нояб. 2017  
Репутация: 585




CODE:
external(INT, "GetKeyboardLayoutNameA", "GetKeyboardLayoutNameA", "User32.dll");

char ddd[100];
GetKeyboardLayoutNameA(address(#ddd[0]));
messagebox(format(#ddd[0]));

 Цитата:
нужно узнать текущую раскладку клавиатуры в активном потоке / окне

CODE:
external(INT, "GetKeyboardLayout", "GetKeyboardLayout", "User32.dll");
external(INT, "GetWindowThreadProcessId", "GetWindowThreadProcessId", "User32.dll");

pause(3000); // 3 секунды чтобы активировать нужное окно
win w=getwindow();
int idThread = GetWindowThreadProcessId(formatwi(w), 0);
int hkl = GetKeyboardLayout(idThread);
messagebox(loword(hkl));
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« О программе Кибор »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by