Тыкаем по кнопкам вне браузера

Делитесь приложениями
  • Всем доброго времени суток !

    В данном посте будет очень многа букав и ни одного готового скрипта.
    Суть в следующем:
    Нужно мне было как-то раз, выполнить действия в десктопных версиях Телеграм и для тупого кликанья, через промежутки по времени, я ничего лучше, чем Кликерман придумать не смог. Как управлять кликерманом с помощью BAS ?

    Ответ нашел на неком форуме. Оказывается, если сассоциировать файлы сценария кликермана с самой программой (т.е. чтоб винда знала, что открыть их может только кликерман) и добавить в начало сценария строку:

    #autorun
    

    то кликерман запустится и сразу начнёт выполнять прописанный сценарий.

    Теперь, дело за малым, с помощью кубика Запустить процесс в BAS, запускаем программу (в моём случае, это Телеграм), а затем (через паузу) запускаем следующий процесс:

    @echo off
    start "С:\Clickermann v4.13 x32\clickermann.exe" "F:\Clickermann v4.13 x32\pusk.cms"
    

    В результате, у нас запускается Телеграм, а затем Кликерман сразу начинает тыкать, куда мы прописали.
    Сразу оговорюсь: у меня Телеграм открывается на одной и той же позиции.

    А как же BAS узнает, что Кликерман потыкал, что ему надо и освободил нам мышку, для личного пользования ?
    Всё просто ! Кликерман умеет (оказывается) создавать файл и даже что-то туда записывать. Вот вам и файл-флаг !
    Вот кусок кода из сценария, который идёт после цикла:

    end_cyc
    
    STRWRITELN ("flag.txt", StrConcat("Random:", rnd(1,9)), 1 )
    HALT
    

    Этот код создаёт файл flag.txt, что-то туда записывает и останавливает сценарий.
    Вот тут-то BAS и находит этот файл с помощью кубика Информация О Файле/Папке и в ней нас интересует только переменная Существование Файла, именно она заставляет BAS ждать Кликерман:
    01.jpg
    Кстати, если сценарий для Кликермана будет писать сам BAS, то можно заставлять вводить в поля ввода десктопных программ динамичные данные, переписывая и запуская сценарий.
    Ну а дальше, всё ещё проще:
    Прибиваем процесс с Телеграмом (если у вас несколько Телеграмов, то назовите их Telegram1.exe, Telegram2.exe и далее)
    Вот пример моего кода кубика Запустить процесс

    taskkill /F /IM Telegram[[CYCLE_INDEX]].exe /T
    
    taskkill /F /IM clickermann.exe /T
    

    taskkill - программа стандартной комплектации Виндовс.
    Все мои Телеграмы запускаются в цикле For

    Вот мой тестовый скрипт, так сказать - концепт, чтоб пост не считался грубым оффтопом:
    OUTprocess.xml <- обновлено 23.05.2024

    Он предназначен для работы со всеми акками Телеграм, которые пронумерованы по порядку. (У меня это 5, 6, 7, 8, поэтому For сделан с 5 до 8)
    Кроме всего прочего, скрипт BAS делает файл-флаг отметки времени, чтоб скрипт можно было остановить, а потом запустить и он не терял время.
    Интервал у меня поставлен на час.

    Вот такая концепция мне пришла в голову.


    Мой ТГ канал

  • Всем добра !

    В продолжении своего скрипта (из 1-го поста), хочу добавить ещё 5 копеек, на вопрос "Нафига он нужен ?"

    В данный момент, очень многие тыкают разные тапалки в Телеграм (Хомяки например) и на просторах Ютуба некоторые эксперты показывают свои фермы на 10-50-100 аккаунтов и возникает логичный вопрос: Как их всех обслужить ?

    Логично предположить, что нужны эмуляторы Андроида, т.к. на десктопной версии сильно не пошикуешь. Мой выбор пал на LDPlayer (5 версии), так как он более лёгкий.

    Теперь перехожу к сути:

    Главная идея, заключается в том, чтобы запускать эмуляторы не всей толпой, а по-очереди. Во всех тапалках. есть время, за которое ресурс восстанавливается, а следовательно, незачем держать открытую игру 24/7.

    Главная проблема, которая встала передо мной, это невозможность из BAS имитировать нажатие клавиш, для запуска макросов в эмуляторе. Чат ЖПТ, выдал мне такой код на Питоне:

    import pygetwindow as gw
    import pyautogui
    
    # Получаем список окон программы "dnplayer.exe"
    windows = gw.getWindowsWithTitle("dnplayer.exe")
    
    # Если окно найдено, активируем его
    if windows:
        window = windows
        window.activate()
        pyautogui.press('2')
    else:
        print("Окно не найдено")
    

    но, к сожалению, на модуле Питон (для BAS), результат был нулевой, возможно я такой криворукий, а возможно и код.

    Далее, моя мысль была направлена в сторону Кликермана (решение "костыльное"), который ловко тыкает на вновь открытом окне с эмулятором и имитирует нажатие цифры "2"(это в моём случае) на клавиатуре. Далее, он за ненадобностью прибивается командой из BAS:

    taskkill /F /IM clickermann.exe /T
    

    и спустя некоторое время, запускается с новым скриптом, для активации следующего клавиатурного макроса эмулятора. Эти макросы, работают только в пределах LDPleer-a, следовательно, клавиатура и мышь свободны и можно свободно пользоваться.

    Может ли кто из умных людей подсказать, как с помощью какого-нибудь скрипта (который может воспроизвести BAS) передать нажатие клавиши на клавиатуре запущенному приложению, чтоб не задействовать Кликерман ? Тогда бы всё работало в фоне, не занимая комп.


    Мой ТГ канал

  • @Lokko
    Это с ходу и не поймёшь. Бегло прочитал - вещь хорошая, но надо разбираться...

  • @mmm2566521 эти тапалки максимально примитивны и легко пишутся на запросах.

  • @UserTrue
    Весь смысл, который я хочу изобразить, в том, что не занимается экран и мышь, вот только Кликерман всю картину портит...

  • На сайте Микрософт пишется следующее:
    20210524081051.jpg
    Я совсем не в курсе, можно ли это в BAS вкорячить ?
    Может есть спецы ?

    В кубике, "Выполнить код" работать не желает, пишет
    SyntaxError: Parse error во время выполнения действия

  • @mmm2566521 said in Тыкаем по кнопкам вне браузера:

    На сайте Микрософт пишется следующее:

    В БАС winapi можно использовать только по средства nodejs, более удобную реализацию вам уже дали выше. Возможно можно как-то через powerShell, но нафига...

  • @mmm2566521 тут на форуме был модуль для работы с андроид, через него не пробовал отправлять команды на эмуль ?

  • @Lokko по поводу robotjs, вы сами пробовали устанавливать ? там какие то непонятки имеются при установке в бас

  • 1 Votes
    12 Posts
    915 Views
  • 8 Votes
    4 Posts
    1008 Views
  • 2 Votes
    2 Posts
    783 Views
  • 6 Votes
    10 Posts
    2027 Views
  • 1 Votes
    2 Posts
    1037 Views