1 место Zennoposter + WinAPI (для чайников). Автоматизация любого десктоп приложения

one

Client
Регистрация
22.09.2015
Сообщения
6 790
Благодарностей
1 264
Баллы
113

Dmitryreps

Client
Регистрация
05.10.2017
Сообщения
36
Благодарностей
19
Баллы
8
ребята помогите понять как работает функция AutoItX.PixelSearch??
что туда надо передавать за параметры правильно и как вернуть координаты цвета найдено.
 

booldozer

Client
Регистрация
13.02.2011
Сообщения
139
Благодарностей
45
Баллы
28
ребята помогите понять как работает функция AutoItX.PixelSearch??
что туда надо передавать за параметры правильно и как вернуть координаты цвета найдено.
Поддерживаю. Пробовал сделать как в офф мануале. Выдает ошибку что 5 параметров не поддерживаются. а функция очень полезная. Так как по цвету можно понять выполнены ли условия для регистрации в приложенях написанных на qt.
 

Dmitryreps

Client
Регистрация
05.10.2017
Сообщения
36
Благодарностей
19
Баллы
8
Поддерживаю. Пробовал сделать как в офф мануале. Выдает ошибку что 5 параметров не поддерживаются. а функция очень полезная. Так как по цвету можно понять выполнены ли условия для регистрации в приложенях написанных на qt.
мануал старый потому что, там сейчас 4 параметра. я вот как раз и не могу понять как передать правильно первый параметр типа Rectangle.... (как я понимаю, второй это искомый цвет, третий это хз опять же что, и четвертый это шаг в пикселях поиска в области)
 
  • Спасибо
Реакции: booldozer

sprint16

Client
Регистрация
11.08.2016
Сообщения
51
Благодарностей
9
Баллы
8
Всем привет. А как тогда переменную отправить? AutoItX.Send("{-Variable.peremennay-}"); он вставляет только цифры из переменной, а англ раскладку игнорит, или надо тоже, как выше писали попробовать русскими символами заменить?
У вас получилось вписать русский текст из переменной? У меня так же все. либо только eng буквы и цифры, либо абракадабра.
 

booldozer

Client
Регистрация
13.02.2011
Сообщения
139
Благодарностей
45
Баллы
28
У вас получилось вписать русский текст из переменной? У меня так же все. либо только eng буквы и цифры, либо абракадабра.
Так я полагаю AutoItX.Send(project.Variables["Text"].Value);
 

booldozer

Client
Регистрация
13.02.2011
Сообщения
139
Благодарностей
45
Баллы
28
У вас получилось вписать русский текст из переменной? У меня так же все. либо только eng буквы и цифры, либо абракадабра.
Еще нужно раскладку на русскую переключать.
 

wersav

Client
Регистрация
17.02.2014
Сообщения
100
Благодарностей
9
Баллы
18
У вас получилось вписать русский текст из переменной? У меня так же все. либо только eng буквы и цифры, либо абракадабра.
Я уже не помню :-) По моему нет, раз я перестал этим заниматься
 

sprint16

Client
Регистрация
11.08.2016
Сообщения
51
Благодарностей
9
Баллы
8
Так я полагаю AutoItX.Send(project.Variables["Text"].Value);
Я уже не помню :-) По моему нет, раз я перестал этим заниматься

В тот же день я решил эту проблему. муздохался я с этими раскладками и клавиатурами.

Выход нашел такой. закидываем текст в буфер обмена через снипет, потом кликаем по полю ввода, а затем AutoItX.Send(^v); ctrl+v
 
  • Спасибо
Реакции: Radzhab и wersav

booldozer

Client
Регистрация
13.02.2011
Сообщения
139
Благодарностей
45
Баллы
28

sprint16

Client
Регистрация
11.08.2016
Сообщения
51
Благодарностей
9
Баллы
8
@Radzhab Подскажи как функцией пользоваться: https://autoit-script.ru/autoit3_docs/functions/PixelSearch.htm очень нужная штука. И я заметил не мне одному.
Я пользовался этой функцией, приходится делать много проверок. Погугли ImageSearchDLL я этим сейчас пользуюсь намного все лучше работает. Суть что ты ищешь по картинке на экране. Окно может быть в любом месте. Если нет картинки то по ошибке выходит.
 
  • Спасибо
Реакции: VladimirM и booldozer

booldozer

Client
Регистрация
13.02.2011
Сообщения
139
Благодарностей
45
Баллы
28
Я пользовался этой функцией, приходится делать много проверок. Погугли ImageSearchDLL я этим сейчас пользуюсь намного все лучше работает.
Проблема в том что я даже приблизительно не знаю как на шарпе код писать. Я не смогу эту либу заюзать ( Но за совет лайк, может кто-то найдется кто разовьет тему. Я просто сейчас делаю скрин левой тулзой из консоли. Потом перебираю в цикле на совпадение пикселей. Это сильно затратно по времени.
 

sprint16

Client
Регистрация
11.08.2016
Сообщения
51
Благодарностей
9
Баллы
8
Проблема в том что я даже приблизительно не знаю как на шарпе код писать. Я не смогу эту либу заюзать ( Но за совет лайк, может кто-то найдется кто разовьет тему. Я просто сейчас делаю скрин левой тулзой из консоли. Потом перебираю в цикле на совпадение пикселей. Это сильно затратно по времени.
Это дичь. Напиши помогу
 

Dmitryreps

Client
Регистрация
05.10.2017
Сообщения
36
Благодарностей
19
Баллы
8

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 263
Баллы
113
Пишите мне. Всем помогу, главное подготовьте шекели
 

sprint16

Client
Регистрация
11.08.2016
Сообщения
51
Благодарностей
9
Баллы
8

booldozer

Client
Регистрация
13.02.2011
Сообщения
139
Благодарностей
45
Баллы
28
ну так переключай раскладку перед тем как отправлять текст
Код:
InputLanguage.CurrentInputLanguage =  InputLanguage.FromCulture(newSystem.Globalization.CultureInfo("ru-RU"));
InputLanguage.CurrentInputLanguage =  InputLanguage.FromCulture(newSystem.Globalization.CultureInfo("en-US"));
И как переключить, у меня выкидывает ошибку, подскажите пожалуйста. Вот скрин:
https://monosnap.com/image/I1aScinlWOBedp72qWlUnd6A1nzdgP.png
 

sprint16

Client
Регистрация
11.08.2016
Сообщения
51
Благодарностей
9
Баллы
8

booldozer

Client
Регистрация
13.02.2011
Сообщения
139
Благодарностей
45
Баллы
28
копируй в буфер обмена нужный текст, затем вставляй его предварительно указав куда вставлять.
Не. Мне нужно иногда использовать сочетания клавы для открытия определенного окна в програме. И они срабатывают только на английской раскладке. Но иногда сонный по запарке забываю и запускаю скрипт и ложусь спать. И он всю ночь просто так отрабатывает. Вот для этого и хочу чтобы при запуске менялась раскладка.
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 263
Баллы
113
Не. Мне нужно иногда использовать сочетания клавы для открытия определенного окна в програме. И они срабатывают только на английской раскладке. Но иногда сонный по запарке забываю и запускаю скрипт и ложусь спать. И он всю ночь просто так отрабатывает. Вот для этого и хочу чтобы при запуске менялась раскладка.
Добавь using System.Windows.Forms;
 

booldozer

Client
Регистрация
13.02.2011
Сообщения
139
Благодарностей
45
Баллы
28
Добавь using System.Windows.Forms;
Добавил. И вот такую ошибку выдает.
Компиляция кода Ошибка в действии "CS0103" "Имя "newSystem" отсутствует в текущем контексте". [Строка: 0; Cтолбец: 65]
 

booldozer

Client
Регистрация
13.02.2011
Сообщения
139
Благодарностей
45
Баллы
28
Добавил. И вот такую ошибку выдает.
Компиляция кода Ошибка в действии "CS0103" "Имя "newSystem" отсутствует в текущем контексте". [Строка: 0; Cтолбец: 65]
Разобрался newSystem не стоит пробела код должен выглядеть так:
Код:
InputLanguage.CurrentInputLanguage =  InputLanguage.FromCulture(new System.Globalization.CultureInfo("ru-RU"));
InputLanguage.CurrentInputLanguage =  InputLanguage.FromCulture(new System.Globalization.CultureInfo("en-US"));
 

pars

Пользователь
Регистрация
10.12.2016
Сообщения
78
Благодарностей
41
Баллы
18
Понимаю что тема старая - но не скажите как тиким методом грузить картинку ?
 

booldozer

Client
Регистрация
13.02.2011
Сообщения
139
Благодарностей
45
Баллы
28
Понимаю что тема старая - но не скажите как тиким методом грузить картинку ?
Просто иметь бы приблизительное представление о чем ты говоришь. Например скрины, текстовое описание процесса или куда картинка грузится (Название программы), и тд.
Вот список функций: https://autoit-script.ru/autoit3_docs/functions/index.htm
 
  • Спасибо
Реакции: pars

pars

Пользователь
Регистрация
10.12.2016
Сообщения
78
Благодарностей
41
Баллы
18
Просто иметь бы приблизительное представление о чем ты говоришь. Например скрины, текстовое описание процесса или куда картинка грузится (Название программы), и тд.
Вот список функций: https://autoit-script.ru/autoit3_docs/functions/index.htm
Cпасибо с этим уже разобрался ,но остался самый важный вопрос вопрос , как получить текст из десктопного телеграма )
 
Регистрация
10.03.2015
Сообщения
64
Благодарностей
1
Баллы
8
здравствуйте, что то не клеится у меня, направьте в нужную сторону
 

Вложения

pars

Пользователь
Регистрация
10.12.2016
Сообщения
78
Благодарностей
41
Баллы
18
Cпасибо с этим уже разобрался ,но остался самый важный вопрос вопрос , как получить текст из десктопного телеграма )
хахаха - я понял всю магию сраных регеров телеграмма через десктоп .... никто нихрена не клацает по кнопкам и не получает данные из окна
- все тупо по координатам , делают окнов нужном месте и нужного размера а далее тупо клик в координаты .....даже сраный код это просто клик в координаты и кнтл+с )))) а я думал в регере телеги магия какая-то с несусветным секретным кодом ))))
 

booldozer

Client
Регистрация
13.02.2011
Сообщения
139
Благодарностей
45
Баллы
28
а я думал в регере телеги магия какая-то с несусветным секретным кодом ))))
Не пробовали проходить кастинг на участие в шоу битва экстрасенсов. А то я как погляжу вы имеете нормальный такой скил в разгадывании тайн. Может первое место возьмете. Ведь Пахом чувствовал там. Вам с вашей аватаркой сразу первое место дадут. Крлык, курлык.
 

Master4eg

Client
Регистрация
06.04.2016
Сообщения
421
Благодарностей
122
Баллы
43
Подскажите, как получить цвет пикселя в Hex?
 

booldozer

Client
Регистрация
13.02.2011
Сообщения
139
Благодарностей
45
Баллы
28
Подскажите, как получить цвет пикселя в Hex?
var color = AutoItX.PixelGetColor(557, 412); //это по каким координатам взять цвет
return color; //на выходе напиши переменную в которую будет цифра цвета
//Черный цвет 0
 

Кто просматривает тему: (Всего: 3, Пользователи: 0, Гости: 3)