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

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
если это андройд эмулятор
Например делать скриншот и распознавать текст. Я видел как один чел делал скрипт который собирает ресурсы в игре clash of clans. Он делал скриншот окна, применял фильтры и смотрел координаты точек где находятся ресурсы и кликал по ним.
 
  • Спасибо
Реакции: AZANIR и nvmds

akella32

Client
Регистрация
24.04.2013
Сообщения
134
Благодарностей
15
Баллы
18
а можно сделать что бы номера, для вайбера, брались из файла, с удалением?
 

vovain

Client
Регистрация
31.07.2015
Сообщения
183
Благодарностей
2
Баллы
18
а он окна перехватывать будет? Могу ли я работать во время выполнения шаблона?
 

strt

Client
Регистрация
06.09.2013
Сообщения
26
Благодарностей
5
Баллы
3
Radzhab, спасибо за интересную статью. Поддержал тебя своим голосом.
Подскажи, пожалуйста как отправить сочетания клавиш. Я попробовал отправить AutoItX.Send("{CTRL+A}");
но почему то не работает
 
  • Спасибо
Реакции: Radzhab

deopl

Client
Регистрация
06.12.2011
Сообщения
667
Благодарностей
126
Баллы
43
Да. Статейка улетная.
Проголосовал за нее, ведь в принципе и выбора нету больше за что.
 
  • Спасибо
Реакции: Radzhab

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
Radzhab, спасибо за интересную статью. Поддержал тебя своим голосом.
Подскажи, пожалуйста как отправить сочетания клавиш. Я попробовал отправить AutoItX.Send("{CTRL+A}");
но почему то не работает
Попробуй "^a" . Для вайбера почему то не заработало и поэтому я сделал двойным кликом мыши.
AutoItX.MouseClick("LEFT",200,200,2); // цифра 2 означает что кликаем два раза
 
  • Спасибо
Реакции: strt

edger

Client
Регистрация
08.03.2012
Сообщения
42
Благодарностей
4
Баллы
8
Попробуй "^a" . Для вайбера почему то не заработало и поэтому я сделал двойным кликом мыши.
AutoItX.MouseClick("LEFT",200,200,2); // цифра 2 означает что кликаем два раза
либо, если "^a" тоже не работает - "^ф"
дада, русская буква ф. это бага с языковой составляющей, на форумах профильных инфу изыскал. там где анг. символ не работает - вписывать русский на той же кнопке клавиатуры.
 
  • Спасибо
Реакции: booldozer и Radzhab

wersav

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

wersav

Client
Регистрация
17.02.2014
Сообщения
100
Благодарностей
9
Баллы
18
Походу зря я голосовал за эту статью, на мой вопрос ответа так и нету.
 
  • Спасибо
Реакции: Radzhab

wersav

Client
Регистрация
17.02.2014
Сообщения
100
Благодарностей
9
Баллы
18
Radzhab ну скажи у тебя функция AutoItX.Send("{-Variable.peremennay-}"); в эмуляторах андроида корректно работает? Или я чего то не правильно делаю?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 125
Баллы
113
Radzhab ну скажи у тебя функция AutoItX.Send("{-Variable.peremennay-}"); в эмуляторах андроида корректно работает? Или я чего то не правильно делаю?
В C# коде значение переменной указывается так: project.Variables["peremennay"].Value
C#:
AutoItX.Send(project.Variables["peremennay"].Value);
 
  • Спасибо
Реакции: wersav

wersav

Client
Регистрация
17.02.2014
Сообщения
100
Благодарностей
9
Баллы
18
В C# коде значение переменной указывается так: project.Variables["peremennay"].Value
C#:
AutoItX.Send(project.Variables["peremennay"].Value);
Проблема та же осталась он при вставке берет только цифры и символы, а англ раскладку игнорирует
а автоикс из переменной в буфер почему то берет именно в таком варианте AutoItX.ClipPut("{-Variable.peremennay-}");

AutoItX.ClipPut("{-Variable.peremennay-}");
AutoItX.Send(project.Variables["peremennay"].Value);

Я уже и этот вариант пробывал, не выходит

string peremennay = project.Variables["peremennay"].Value;
System.Windows.Forms.Clipboard.SetText(peremennay);
instance.ActiveTab.KeyEvent("v","press","ctrl");
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
ну так переключай раскладку перед тем как отправлять текст
Код:
InputLanguage.CurrentInputLanguage =  InputLanguage.FromCulture(newSystem.Globalization.CultureInfo("ru-RU"));
InputLanguage.CurrentInputLanguage =  InputLanguage.FromCulture(newSystem.Globalization.CultureInfo("en-US"));
 

wersav

Client
Регистрация
17.02.2014
Сообщения
100
Благодарностей
9
Баллы
18
ну так переключай раскладку перед тем как отправлять текст
Код:
InputLanguage.CurrentInputLanguage =  InputLanguage.FromCulture(newSystem.Globalization.CultureInfo("ru-RU"));
InputLanguage.CurrentInputLanguage =  InputLanguage.FromCulture(newSystem.Globalization.CultureInfo("en-US"));
http://savepic.org/8487224.png Не знаю, что тут нужно поменять чтобы он переключал( Даже если в ручную в системе переключаю, он все равно вставляет только числа или символы, допустим в переменной есть число "1 и ." если стоит рус он пишет 1. все остальное игнорит, если eng "1 и /"
 
Последнее редактирование:

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
все понял) раскладку надо переключать в самой виртуалке. ctrl+пробел вроде был на bluestacks
 

wersav

Client
Регистрация
17.02.2014
Сообщения
100
Благодарностей
9
Баллы
18
Регистрация
08.07.2015
Сообщения
2 848
Благодарностей
712
Баллы
113
Походу зря я голосовал за эту статью, на мой вопрос ответа так и нету
так както некрасиво выглядит это! Типа я голосовал и мине теперь висе дорлжны вокруг, а где пруф для начала что ты голосовал?
А вообще разве автор статьи за которую ты голосовал, теперь должен не спать ни есть сидеть и пасти круглые сутки все вопросы от тех кто за него голосовал и отвечать на них?
Типа "эй Бил ты мне не ответил лично, я походу зря купил виндовс!".
 
  • Спасибо
Реакции: dimytr, Sanekk и Radzhab

wersav

Client
Регистрация
17.02.2014
Сообщения
100
Благодарностей
9
Баллы
18
так както некрасиво выглядит это! Типа я голосовал и мине теперь висе дорлжны вокруг, а где пруф для начала что ты голосовал?
А вообще разве автор статьи за которую ты голосовал, теперь должен не спать ни есть сидеть и пасти круглые сутки все вопросы от тех кто за него голосовал и отвечать на них?
Типа "эй Бил ты мне не ответил лично, я походу зря купил виндовс!".
Да я так в шутку написал, а кто как это воспринял это уже его дело. Мой голос все равно ничего бы не решил, статья хорошая, по мимо тех двух за которые я еще голосовал. Никто никому ничего не должен, все уже украдено до нас.) А вот Бил реально всем должен и за тотальную слежку и за монополию своей винды (да здравствует винда, самая гуманная винда в мире!)))
 
  • Спасибо
Реакции: Radzhab

wersav

Client
Регистрация
17.02.2014
Сообщения
100
Благодарностей
9
Баллы
18
Я уже и сам язык в блюстакс поменял и пробовал просто оставить читсо один англ язык и отключал физ клавиатуру, все равно не помогло(
 

kul0n

Client
Регистрация
10.03.2016
Сообщения
86
Благодарностей
14
Баллы
8
Привет, а какой командой можно получить значение элемента? то есть к примеру есть поле, в нем значение и это значение нужно взять и поместить в переменную.
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
GetControlText кажись
 

Lite

Client
Регистрация
17.10.2013
Сообщения
288
Благодарностей
100
Баллы
28

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
Не подскажешь, как вставить пользовательские функции?
http://autoit-script.ru/autoit3_docs/libfunctions/_screencapture_capture.htm
Я так понимаю, надо прописать #include <ScreenCapture.au3> , но не пойму где и в каком виде.
Ммм. Я думаю такое проще сделать на с#
http://stackoverflow.com/questions/5049122/capture-the-screen-shot-using-net
 
  • Спасибо
Реакции: Lite

Nick

Client
Регистрация
22.07.2014
Сообщения
1 984
Благодарностей
817
Баллы
113
Не подскажешь, как вставить пользовательские функции?
http://autoit-script.ru/autoit3_docs/libfunctions/_screencapture_capture.htm
Я так понимаю, надо прописать #include <ScreenCapture.au3> , но не пойму где и в каком виде.
В коде C# не надо писать #include с решёткой, это синтаксис другого языка.
Попробуй просто как в других примерах в коде написать AutoItX, потом набрать точку. Когда у тебя будет "AutoItX.", должен выпасть список всех переменных и методов, вот там поищи свой вызов. Должно получиться что-то типа AutoItX.ScreenCapture_Capture(MyDocumentsDir + "\GDIPlus_Image1.jpg");
Если список не выпадает, нажми ctrl+Space(то есть контрол и пробел одновременно), должен выпасть, а дальше полистай.
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 092
Благодарностей
6 496
Баллы
113
C телеграмом чет вообще не выдает инфы
только это

Код:
>>>> Window <<<<
Title:    Telegram (3)
Class:    Qt5QWindowIcon
Position:    323, 111
Size:    1236, 749
Style:    0x96CF0000
ExStyle:    0x00000100
Handle:    0x0000000000A4032C

>>>> Control <<<<
Class:   
Instance:   
ClassnameNN:   
Name:   
Advanced (Class):   
ID:   
Text:   
Position:   
Size:   
ControlClick Coords:   
Style:   
ExStyle:   
Handle:   

>>>> Mouse <<<<
Position:    545, 218
Cursor ID:    0
Color:    0xBEBDC2

>>>> StatusBar <<<<

>>>> ToolsBar <<<<

>>>> Visible Text <<<<


>>>> Hidden Text <<<<
 

DmitryAk

Client
Регистрация
14.12.2016
Сообщения
860
Благодарностей
824
Баллы
93
C телеграмом чет вообще не выдает инфы
Телеграм на библе QT реализован, а эта библиотека виджетов сама отрисовывает контролы - соотвественно получить хэндлы элементов снаружи не получится. Ну, а нет хэндла - нет взаимодействия.
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 092
Благодарностей
6 496
Баллы
113
Телеграм на библе QT реализован, а эта библиотека виджетов сама отрисовывает контролы - соотвественно получить хэндлы элементов снаружи не получится. Ну, а нет хэндла - нет взаимодействия.
сделал в тупую, нажатие на версии во весь экран, клики по координатам)
 

DmitryAk

Client
Регистрация
14.12.2016
Сообщения
860
Благодарностей
824
Баллы
93

backoff

Client
Регистрация
20.04.2015
Сообщения
6 092
Благодарностей
6 496
Баллы
113
Ну почему же "втупую"
ну всегда кажется, если легко и просто, то это тупо )
но с другой стороны "все гениальное - просто"
а самое главное чтобы просто работало как надо )
 

Sober3r

Client
Регистрация
01.02.2017
Сообщения
417
Благодарностей
7
Баллы
18
подскажи пожалуйста , а возможно хром подключить ?
Например: работа происходит с вк , только на моем установленном на компьютере браузере? Очень надо ... или подскажите как это можно сделать ?
 
Последнее редактирование:

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