1 место PM+WinApi или управление окнами любых других приложений

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
794
Благодарностей
136
Баллы
43
Хендл нужного окна получили, дальше нужно отправить ему какое нибудь сообщение, чтобы с ним что то произошло, для этого снова идем в spy++, снова прицелом находим окно viber' a и в этот раз после поиска жмем ОК, щелкаем ПКМ по выделенной строке и выбираем Messages, после этого нас перекидывает в новое пустое окно spy++, НО стоит нам навести мышью на окно вайбера, как тут же мы увидим как сыпятся сообщения:
У всех после этих действий сыпались сообщения в окне? У меня нет, нигде не сыпятся - ни в вайбере, ни в скайпе. Просто пустое окно. Почему так может быть?
 

ezotonal

Client
Регистрация
13.01.2014
Сообщения
819
Благодарностей
231
Баллы
43
У всех после этих действий сыпались сообщения в окне? У меня нет, нигде не сыпятся - ни в вайбере, ни в скайпе. Просто пустое окно. Почему так может быть?
То же такое было...помог запуск от имени администратора Spy++
 
  • Спасибо
Реакции: durovino943

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
794
Благодарностей
136
Баллы
43
То же такое было...помог запуск от имени администратора Spy++
К сожалению, не мой вариант, так как я его и так запускаю от имени администратора (а по другому он и не хочет).
 

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
794
Благодарностей
136
Баллы
43
Ммм...такая фишка: пишу текст в программу через winapi, но отображается всё вопросами, а не текстом, который лежит в переменной:
upload_2017-4-12_20-57-40.png

Кто-нибудь знает, из-за чего это может быть?
 

ezotonal

Client
Регистрация
13.01.2014
Сообщения
819
Благодарностей
231
Баллы
43
Может кто знает как использовать несколько аккаунтов для рассылки по виберу. Как то можно менять...? Я так понял через локальное хранилище..
 

Radzhab

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

justanotherVar

Пользователь
Регистрация
18.09.2016
Сообщения
66
Благодарностей
2
Баллы
8

justanotherVar

Пользователь
Регистрация
18.09.2016
Сообщения
66
Благодарностей
2
Баллы
8

justanotherVar

Пользователь
Регистрация
18.09.2016
Сообщения
66
Благодарностей
2
Баллы
8
Зачем это же не относится к зенно. Это про с# или c++, работа с окнами приложений.
В принципе написать статью не проблема. Проблема в том, к чему ее применить, что бы получить профит. К сожалению я не могу спалить свои темы, где я применяю эти библиотеки, так как они приносят доход.
Да просто напиши как пользоваться и все.
 
  • Спасибо
Реакции: avtostopshik

vasyaya

Client
Регистрация
09.02.2015
Сообщения
555
Благодарностей
35
Баллы
28
Всем привет! Ребят, подскажите пожалуйста почему не нажимает на кнопку набора номера и не набирает номер? если создать одну беседу, то код шлет сообщение в созданную руками беседу. Буду благодарен за ответ
 

Gor

Client
Регистрация
30.09.2016
Сообщения
248
Благодарностей
30
Баллы
28
Тема очень классная, автору большой респект!! Сделал, запустил, доволен как слон ))
Но тут же встал у меня вопрос. Мы взаимодействовали с окном viber односторонне (кликали правой, левой клавишей, мышкой двигали по координатам). Есть возможность каким-то образом считать информацию, которая находится в вайбере? Вот например, нам сообщение прислал кто-то. Мы можем его достать?
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
Можно через ocr
 

Gor

Client
Регистрация
30.09.2016
Сообщения
248
Благодарностей
30
Баллы
28
Всем привет! Ребят, подскажите пожалуйста почему не нажимает на кнопку набора номера и не набирает номер? если создать одну беседу, то код шлет сообщение в созданную руками беседу. Буду благодарен за ответ
Там нужно подправить координаты кликов. Все нажатия по всем элементам проходят по координатам X,Y. У каждого из нас разные разрешения экрана, разные размеры окон. У разработчика одни коодинаты, у нас другие. Соотв. не работают. Киньте скриншот окна в Paint, получите координаты элементов Viber. Только надо поправку сделать по оси Y, отняв ширину шапки пикселей 25 примерно.
Это сделать скрин окна и распознавать все, что там находится, что ли?.. А красивее решения нет?..

Может кто знает как использовать несколько аккаунтов для рассылки по виберу. Как то можно менять...? Я так понял через локальное хранилище..
Вот это мне тоже очень интересно! Копаю сейчас.
По сути не хватает еще авторегера акков. Для этой цели можно исопользовать эмулятор, по уже описанному принципу сделать регер и поспамим, господа! ))) Ну, в принципе, как автор описывал ))

Есть один нюанс при спаме акк банится через определенное количество отправок. Вайбер присылает кнопку со ссылкой на капчу. Капчу разгадаем, понятно, не трабла. А вот как ссылочку на эту капчу извлечь?.. OCR тут не пройдет, ссылка не видна.
 
Последнее редактирование:
  • Спасибо
Реакции: durovino943

Tronheym

Client
Регистрация
13.10.2016
Сообщения
146
Благодарностей
30
Баллы
28
А как сделать проверку на наличие/отсутствие установленного вибера у пользователя?

В принципе при наборе номера пользователя, у которого нет установленного вибера, появляется сообщение вида

viber.png

как собственно сделать проверку на наличие/отсутствие такого текста, чтобы фильтровать "невалидные" номера телефонов?

Подкиньте идею..

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

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
Мб запилить ещё одну статью что ли
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 054
Благодарностей
6 482
Баллы
113

Gor

Client
Регистрация
30.09.2016
Сообщения
248
Благодарностей
30
Баллы
28
Мб запилить ещё одну статью что ли
Привет! Было бы интересно почитать! Я до конца так и не дотумкал, кажется, как работать со Spy++, к сожалению, поскольку не могу отследить нажатие backspace в эмуляторе андроид Nox (Viber). Делаю регер на Viber, вроде практически все элементы понятны, по координатам кликаю по элементам, ввожу текст аналогично шабу представленному в этой теме, но столкнулся с таким приколом.
Когда хочу очистить содержимое поля ввода номера,
http://prntscr.com/j8mpdw
кликаю по полю ввода номера и жму backspace единоразово "супер-костылем"
Код:
IntPtr hwnd = CommonCode.FindWindow("Qt5QWindowIcon", null); // получаем хендл окна Nox
//    клик мышкой по полю +
CommonCode.SendMessage(hwnd, CommonCode.WM_MOUSEMOVE, IntPtr.Zero, CommonCode.MakeLParam(110,250));
CommonCode.SendMessage(hwnd, CommonCode.WM_LBUTTONDOWN, (IntPtr)CommonCode.MK_LBUTTON, CommonCode.MakeLParam(110, 250));
CommonCode.SendMessage(hwnd, CommonCode.WM_LBUTTONUP, IntPtr.Zero, CommonCode.MakeLParam(110, 250));
Thread.Sleep(2000);
CommonCode.SendMessage(hwnd, CommonCode.WM_KEYDOWN, (IntPtr)CommonCode.VK_BACK, (IntPtr)(CommonCode.MapVirtualKey(CommonCode.VK_BACK, 0)<<16|0));
Thread.Sleep(500);
Скриншот: http://prntscr.com/j8mq74
В результате имею странный эффект. После применения супер костыля любая надпись, вводимая в поле удаляется до тех пор пока не нажму стрелочку влево на клаве.
После отработки кода в Spy++ имею такую картину: http://prntscr.com/j8mrc1
Очень интересует как избавится от этого эффекта. Он мне портит всю картинку, которая могла бы быть маслом практически )
Если б кто сказал, что я убью полдня на то, чтобы нажать три раза Backspace, я бы не поверил, но таки такое дело имеет место быть! Кто-нибудь подскажите пожалуйста!
 
Последнее редактирование:

Gor

Client
Регистрация
30.09.2016
Сообщения
248
Благодарностей
30
Баллы
28
Подкиньте идею..
Может быть привести окно Viber к эталонному размеру и скринить определенный фрагмент окна? Выше вроде бы рассказывали, что можно какой-то элемент скринить. Можно и просто определенную часть, я ду. Будем иметь эталонный скрин с отстутствующим контактом в вайбере. А в процессе проверки просто скринить и проверять на соответствие эталонной картинке. Если соответсвует - номера нет в вайбере. Вариант?
Или же отследить в Spy++ две команды - клик ПКМ, Копировать сообщение. Тогда будем иметь в буфере скопированное сообщение и проверяем его на соответствие. Этот вариант лучше, пожалуй, да?
 
Последнее редактирование:

ezotonal

Client
Регистрация
13.01.2014
Сообщения
819
Благодарностей
231
Баллы
43
Подскажите как выбрать файл в диалоговом окне
 

Gor

Client
Регистрация
30.09.2016
Сообщения
248
Благодарностей
30
Баллы
28

Gor

Client
Регистрация
30.09.2016
Сообщения
248
Благодарностей
30
Баллы
28
Подскажите как выбрать файл в диалоговом окне
Диалоговое окно обычного вайбера для компа? Там вроде хэндл дочернего окна, которое всплывает, нужно получить. Если хэндл изменяется, можно единоразово посмотреть, прописать в шаб. Если нет - есть функция получения дочернего окна. После этого по идее нужно по коодинатам этого окна кликать.
 

ezotonal

Client
Регистрация
13.01.2014
Сообщения
819
Благодарностей
231
Баллы
43
Диалоговое окно обычного вайбера для компа? Там вроде хэндл дочернего окна, которое всплывает, нужно получить. Если хэндл изменяется, можно единоразово посмотреть, прописать в шаб. Если нет - есть функция получения дочернего окна. После этого по идее нужно по коодинатам этого окна кликать.
Не вайбера а Директ Коммандера
 

Tronheym

Client
Регистрация
13.10.2016
Сообщения
146
Благодарностей
30
Баллы
28
Или же отследить в Spy++ две команды - клик ПКМ, Копировать сообщение. Тогда будем иметь в буфере скопированное сообщение и проверяем его на соответствие. Этот вариант лучше, пожалуй, да?
О! Вот это вариант!
 

Gor

Client
Регистрация
30.09.2016
Сообщения
248
Благодарностей
30
Баллы
28
Не вайбера а Директ Коммандера
Директ Коммандером не пользуюсь, но думаю принцип должен быть тем же. Нужно получить хэндл дочернего окна и дальше как обычно.

О! Вот это вариант!
не вариант. Сообщение не копируется. Получилось сделать скриншот?

Кто знает как вставить содержимое буфера обмена в окно приложения? Ctrl+V? Shift+Insert не подходит - приложение его не воспринимает. Нужно именно по эмуляции Ctrl+V или еще как-то. Сделал так, что Ctrl нажимается, а вот при нажатии V почему-то только печатается символ и все. Вставка из буфера не происходит (( Возможно есть решение с использованием WM_Paste? не знаю в какую функцию эту константу завернуть. SendMessage - ругается.
 

Tronheym

Client
Регистрация
13.10.2016
Сообщения
146
Благодарностей
30
Баллы
28

Gor

Client
Регистрация
30.09.2016
Сообщения
248
Благодарностей
30
Баллы
28

art22

Client
Регистрация
24.06.2016
Сообщения
484
Благодарностей
69
Баллы
28
Статья супер.
А как удалить номер после взятия? Все отлично работает но не удаляется тел номер после взятия
 

ezotonal

Client
Регистрация
13.01.2014
Сообщения
819
Благодарностей
231
Баллы
43
Статья супер.
А как удалить номер после взятия? Все отлично работает но не удаляется тел номер после взятия
Стандартный кубик. Взять из списка с удалением
 

art22

Client
Регистрация
24.06.2016
Сообщения
484
Благодарностей
69
Баллы
28
Стандартный кубик. Взять из списка с удалением
А как потом в код вставлять? переменную с кубика

делал так

var textContains = project.Variables["tel"].Value; выходит ошибка

--
а как то можно имитировать клики на виртуальной машине типо MEmu, SPY++ не может следить за мышкой и клавой
 

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