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

Master4eg

Client
Регистрация
06.04.2016
Сообщения
389
Благодарностей
105
Баллы
43
var color = AutoItX.PixelGetColor(557, 412); //это по каким координатам взять цвет
return color; //на выходе напиши переменную в которую будет цифра цвета
//Черный цвет 0
Не, не то. Я имел ввиду формат в HEX, но я уже нашел решение, нужно преобразовать в 16-ричную систему
Код:
            var z = AutoItX.PixelGetColor(332, 636);
            project.Variables["pixel"].Value = Convert.ToString(Convert.ToInt32(z), 16);
 

Master4eg

Client
Регистрация
06.04.2016
Сообщения
389
Благодарностей
105
Баллы
43
  • var handle = AutoItX.WinGetHandle("Viber +79285533129");
  • AutoItX.WinActivate(handle);
  • AutoItX.WinMove(handle, 0, 0);
  • AutoItX.MouseClick("LEFT", 278, 102);
  • AutoItX.MouseClick("LEFT", 136, 183);
  • AutoItX.Send("79285533129");
Можно ли кликать по координатам не "Забирая" курсор?
 

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
676
Благодарностей
109
Баллы
43
@booldozer у тебя получилось раскладку клавиатуры сменить? С помощью этого кода нифига не меняет:
Код:
InputLanguage.CurrentInputLanguage =  InputLanguage.FromCulture(new System.Globalization.CultureInfo("ru-RU"));
InputLanguage.CurrentInputLanguage =  InputLanguage.FromCulture(new System.Globalization.CultureInfo("en-US"));
 

Donalddick

Client
Регистрация
01.10.2017
Сообщения
56
Благодарностей
9
Баллы
8
Никто не знает, в чем проблема может быть? В мессенджере Line легко получаю хэндл и делаю любые манипуляции до момента входа в аккаунт, после входа в аккаунт он почему-то не получает хэндл, как будто не видит это окно. Причем окно называется также LINE
 

booldozer

Client
Регистрация
13.02.2011
Сообщения
137
Благодарностей
45
Баллы
28
@booldozer у тебя получилось раскладку клавиатуры сменить? С помощью этого кода нифига не меняет:
Код:
InputLanguage.CurrentInputLanguage =  InputLanguage.FromCulture(new System.Globalization.CultureInfo("ru-RU"));
InputLanguage.CurrentInputLanguage =  InputLanguage.FromCulture(new System.Globalization.CultureInfo("en-US"));
У меня такой код:
Код:
InputLanguage.CurrentInputLanguage =  InputLanguage.FromCulture(new System.Globalization.CultureInfo("ru-RU"));
InputLanguage.CurrentInputLanguage =  InputLanguage.FromCulture(new System.Globalization.CultureInfo("en-US"));
 

spacexxx

Client
Регистрация
31.05.2018
Сообщения
15
Благодарностей
3
Баллы
3
Вот такой вопрос, может кто знает, как свернуть окно, или сделать его не активным?
Вроде функция для этого есть, но через c# она не хочет работать, гугл что-то мне не помог :(
Код:
var handle = AutoItX.WinGetHandle("Video Editor");
AutoItX.WinSetState(handle, "", @SW_HIDE);
И вылазит ошибка: "Компиляция кода Ошибка в действии "CS0103" "Имя "SW_HIDE" отсутствует в текущем контексте". [Строка: 8; Cтолбец: 36]"
Может кто помочь? Заранее спасибо.
 

Nike59

Client
Регистрация
05.08.2011
Сообщения
124
Благодарностей
121
Баллы
43
А в самом AutoIt (не библиотеки AutoItx) срабатывает флаг @SW_HIDE? Если нет, это значит, что приложение, которые вы хотите скрыть само устанавливает видимость своего окна. Тогда как не совсем равноценный вариант, попробуйте флаг @SW_MINIMIZE для свертывания окна приложения.
 

Master4eg

Client
Регистрация
06.04.2016
Сообщения
389
Благодарностей
105
Баллы
43
Вот такой вопрос, может кто знает, как свернуть окно, или сделать его не активным?
Вроде функция для этого есть, но через c# она не хочет работать, гугл что-то мне не помог :(
Код:
var handle = AutoItX.WinGetHandle("Video Editor");
AutoItX.WinSetState(handle, "", @SW_HIDE);
И вылазит ошибка: "Компиляция кода Ошибка в действии "CS0103" "Имя "SW_HIDE" отсутствует в текущем контексте". [Строка: 8; Cтолбец: 36]"
Может кто помочь? Заранее спасибо.
SW_HIDE нужно добавить в Using

там где

Код:
    public class CommonCode
    {
Добавь туда

SW_HIDE = 0;
 

spacexxx

Client
Регистрация
31.05.2018
Сообщения
15
Благодарностей
3
Баллы
3
Разобрался с флагами, работает отлично
Код:
var handle = AutoItX.WinGetHandle("Video Editor");
AutoItX.WinSetState(handle, AutoItX.SW_HIDE);
Флаг отображения окна:
AutoItX.SW_HIDE = Скрыть
AutoItX.SW_SHOW = Показать ранее скрытое окно
AutoItX.SW_MINIMIZE = Свернуть
AutoItX.SW_MAXIMIZE = Развернуть
AutoItX.SW_RESTORE = Восстановить свёрнутое или развёрнутое окно
AutoItX.SW_DISABLE = Запретить доступ
AutoItX.SW_ENABLE = Разрешить доступ
 

Rainsteel

Client
Регистрация
08.04.2015
Сообщения
101
Благодарностей
9
Баллы
18
подскажите пожалуйста почему некоторые функции не работают , например эта https://autoit-script.ru/docs/functions/hotkeyset.htm
пишу
AutoItX.HotKeySet("{Esc}", "captureEsc");

выдает ошибку
Ошибка в действии "CS0117" ""AutoIt.AutoItX" не содержит определение для "HotKeySet"
 

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
676
Благодарностей
109
Баллы
43
подскажите пожалуйста почему некоторые функции не работают , например эта https://autoit-script.ru/docs/functions/hotkeyset.htm
пишу
AutoItX.HotKeySet("{Esc}", "captureEsc");

выдает ошибку
Ошибка в действии "CS0117" ""AutoIt.AutoItX" не содержит определение для "HotKeySet"
По моему не все функции, что изложены на сайте autoit работают в зеннопостере.
 

udder

Client
Регистрация
28.03.2017
Сообщения
556
Благодарностей
113
Баллы
43
скажите как получить текст из окна и как определить координаты кнопки ? Кликать буду мышкой
 
Последнее редактирование:
  • Спасибо
Реакции: Radzhab

likeviewer

Client
Регистрация
07.02.2020
Сообщения
48
Благодарностей
4
Баллы
8
Всем привет, в статье говорится, что например для скайп существует необходимость делать окно софта активным, а как это понять, когда должно быть активным, когда можно без этого обойтись? И если ли возможность программы сворачивать в трей?
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 498
Благодарностей
1 246
Баллы
113
Всем привет, в статье говорится, что например для скайп существует необходимость делать окно софта активным, а как это понять, когда должно быть активным, когда можно без этого обойтись? И если ли возможность программы сворачивать в трей?
Если мы кликаем по координатам - окно должно быть активным, если по контролам - пофиг
 
  • Спасибо
Реакции: likeviewer

Shytov

Client
Регистрация
11.09.2018
Сообщения
173
Благодарностей
33
Баллы
28
Кто-то ковырял Java приложения? BroBot не поддается autoIt
 

CAHEK

Client
Регистрация
23.12.2016
Сообщения
14
Благодарностей
0
Баллы
3
Radzhab или кто нибудь ,помогите, уже крыша едет....
Программа по смене MAC-адресса из старт поста или ее аналог SMAC 2.7, не получается нажимать на кнопки, надо всего три клика, а я уперся полностью, хэндл окна нашел, окно активируется, вылазит из под всех окон на передний план и на этом все, хэндлы контролов возвращает но клик не проходит, ListViev возвращает 0, да бог с ним, MouseClick не проходит ,перепробовал многое, и через WINAPI не работает , и пытался окно переместить в левый верхний угол и кликнуть мышью через AutoIt, даже окно не передвигает, даже пытался через
System.Windows.Forms.SendKeys.SendWait , сделать кучу нажатий "tab",потом Enter, это именно с клавиатуры работает , а из зенки окно активирует и все на этом, это все еще при том что и аутоит и винапи с другими окнами нормально работает, а с Technitium MAC Address Changer и SMAC 2.7 "аналог", отказывается полностью.........
Помогите полжалуйста, кто нибудь.......
 

Master4eg

Client
Регистрация
06.04.2016
Сообщения
389
Благодарностей
105
Баллы
43
Radzhab или кто нибудь ,помогите, уже крыша едет....
Программа по смене MAC-адресса из старт поста или ее аналог SMAC 2.7, не получается нажимать на кнопки, надо всего три клика, а я уперся полностью, хэндл окна нашел, окно активируется, вылазит из под всех окон на передний план и на этом все, хэндлы контролов возвращает но клик не проходит, ListViev возвращает 0, да бог с ним, MouseClick не проходит ,перепробовал многое, и через WINAPI не работает , и пытался окно переместить в левый верхний угол и кликнуть мышью через AutoIt, даже окно не передвигает, даже пытался через
System.Windows.Forms.SendKeys.SendWait , сделать кучу нажатий "tab",потом Enter, это именно с клавиатуры работает , а из зенки окно активирует и все на этом, это все еще при том что и аутоит и винапи с другими окнами нормально работает, а с Technitium MAC Address Changer и SMAC 2.7 "аналог", отказывается полностью.........
Помогите полжалуйста, кто нибудь.......
В лс
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 498
Благодарностей
1 246
Баллы
113
Radzhab или кто нибудь ,помогите, уже крыша едет....
Программа по смене MAC-адресса из старт поста или ее аналог SMAC 2.7, не получается нажимать на кнопки, надо всего три клика, а я уперся полностью, хэндл окна нашел, окно активируется, вылазит из под всех окон на передний план и на этом все, хэндлы контролов возвращает но клик не проходит, ListViev возвращает 0, да бог с ним, MouseClick не проходит ,перепробовал многое, и через WINAPI не работает , и пытался окно переместить в левый верхний угол и кликнуть мышью через AutoIt, даже окно не передвигает, даже пытался через
System.Windows.Forms.SendKeys.SendWait , сделать кучу нажатий "tab",потом Enter, это именно с клавиатуры работает , а из зенки окно активирует и все на этом, это все еще при том что и аутоит и винапи с другими окнами нормально работает, а с Technitium MAC Address Changer и SMAC 2.7 "аналог", отказывается полностью.........
Помогите полжалуйста, кто нибудь.......
актуально?
 

Mkayan

Client
Регистрация
04.08.2016
Сообщения
70
Благодарностей
6
Баллы
8
Подскажите как послать активному окну "Tab" "Enter" ?
AutoItX.Send("Tab", 1); вот такое не работает.
 

Demiz

Client
Регистрация
19.12.2017
Сообщения
85
Благодарностей
42
Баллы
18
Ребят не пойму как делать клики по координатам в том же телеграм? можно пример если не трудно?
 
Регистрация
31.03.2020
Сообщения
51
Благодарностей
1
Баллы
8
Вот такая ошибка при запуске тестового проекта из главной темы - https://prnt.sc/10zwgh5 на windows server 2012
 

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