Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,330

Взаимодействие приложения на пайтоне с другой программой

11.01.2021, 10:04. Показов 4745. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
здравствуйте, кодом:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# получить список имён каждого открытого окна
import win32gui
 
prog = 'Дрозд'
 
 
def winEnumHandler(hwnd, ctx):
    if win32gui.IsWindowVisible(hwnd):
        # print('"' + str(hex(hwnd)) + '"', '"' + str(win32gui.GetWindowText(hwnd)) + '"')
        if win32gui.GetWindowText(hwnd).startswith(prog + ' была зарегистрирована по:') == True:
            print(hex(hwnd), win32gui.GetWindowText(hwnd), '- программа далее продолжаться не будет')
            exit(0)
        elif win32gui.GetWindowText(hwnd).startswith(prog):
            print(hex(hwnd), win32gui.GetWindowText(hwnd))
            pass
 
 
win32gui.EnumWindows(winEnumHandler, None)
prog_name_tab =  ? # список вкладок в программе-указанных на вкладке
prog_tab_in =  ? # список полей ввода на вкладке в программе
prog_tab_out =  ? # список полей вывода на вкладке в программе
prog_tab_button =  ? # список кнопок на вкладке в программе-указанных на кнопке
получаю список имён каждого открытого окна, если имеется интересующее меня
как узнать, о программе (?-в коде) и конечная цель в нужное окно ввода ввести данные
нажать нужную кнопку и забрать результат из окна вывода, возможно, подскажите как?
ОС-Вин7+, спс
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.01.2021, 10:04
Ответы с готовыми решениями:

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

Взаимодействие с другой программой
Всем добрый вечер! Подскажите пожалуйста как реализуется взаимодействие с другой программой! Посмотрев поиск нашёл несколько тем на эту...

Взаимодействие программы на C# с другой программой
Здравствуйте! Объясняю ситуацию: есть 2 программки одна написана на С# а другая на Delphi. Можно ли как-то передать данные (текстовые или...

17
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
11.01.2021, 12:17
Это невозможно. Только если брать cv
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,330
11.01.2021, 12:30  [ТС]
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Только если брать cv
что за зверь?

Добавлено через 4 минуты
и вариант, если id всего известны-можно? как?
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
11.01.2021, 12:36
Лучший ответ Сообщение было отмечено Ципихович Эндрю как решение

Решение

Computer Vision
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,330
11.01.2021, 12:43  [ТС]
Компьютерное зрение-не хило
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2696 / 1602 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
11.01.2021, 12:53
Ципихович Эндрю, если есть горячие клавиши, можно попробовать передавать комбинации или передавать определенное (заранее известное) количество переключающих клавиш (TAB, LEFT и т.д.), ну и либо вводить что то, либо нажать.
1
5519 / 2872 / 571
Регистрация: 07.11.2019
Сообщений: 4,767
11.01.2021, 13:17
Посмотрите, может будет интересно: https://pypi.org/project/PyAutoIt/
Там же внизу страницы пример работы с блокнотом.
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
11.01.2021, 14:28
Ципихович Эндрю, программа-то ваша или нет?
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,330
11.01.2021, 14:30  [ТС]
моя, писал не я, но по моему ТЗ, на Си Шарпе, доступ к исходникам есть
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
12.01.2021, 09:31
Ципихович Эндрю, ну тогда доводить до кондиции напильником.
https://ru.wikipedia.org/wiki/... 0%B8%D0%B5
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,330
12.01.2021, 10:01  [ТС]
спс за ответ
подскажите
1 возможно ли это?
2 что нужно предпринять?, чтобы это сделать:
программа о которой шла речь, стоит на ПК с ОС Виндувс7+
она открыта но свёрнута, у неё есть вкладки
задача - зайти в браузер любой, начнём с Хрома, Файрфокса, в адресной строке вбить простой адрес, например 2 и заходим на 2-ю вкладку этой программы, спс
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
12.01.2021, 11:08
Ципихович Эндрю, то есть, что-то типа такого?
Программа на сишарпе - это гуй (строго, в этом её смысл) и она должна стать гуёвым сервером, т. е. передавать клиенту своё изображение?
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,330
12.01.2021, 11:11  [ТС]
ну да только на этой вкладке
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
например 2
есть поля, кнопки, будут ли они работать так как будто в программе?
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
12.01.2021, 11:23
Ципихович Эндрю, это отдельная задача.

Но вы не ответили за мой предыдущий уточняющий вопрос. Эндрю, это ведь не мне надо.

Хорошо, предварительный вердикт - неправильно поставленная задача. Делать какие-то действия через гуй, писать сложные сервера для взаимодействия с гуём - это путь окольный, тяжкий и бесперспективный.

Вам надо подумать о действиях, которые делает сервер (видимо, по нажатию кнопок) и ответах (то, что он отражает в гуе). Именно как о действиях и ответах, в отрыве от гуя. И ИХ вывести наружу, чтобы клиент на питоне к ним обращался.
Каким образом? Возможны варианты. Если клиент будет один, без асинхронной работы - в первую очередь я бы посмотрел в сторону консольного приложения. Если же ситуация сложнее - делать, как простенький веб-сервис.
Тут тоже варианты. Либо вебсервер вмонтировать в программу, либо делать как цивильный веб-сервис. Но тогда надо думать, кто его будет поднимать и заботиться о безопасности.

Добавлено через 3 минуты
Да, для винды ещё есть вариант в виде COM или .NET, тоже хорошо.
Сишарп умеет делать объекты в виде COM, это легко. Питон умеет к ним обращаться с помощью pywin32. Насчёт .NET - я точно не знаю, но наверняка должен быть аналог. Это - если не хочется через http.
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,330
12.01.2021, 11:27  [ТС]
Цитата Сообщение от dondublon Посмотреть сообщение
она должна стать гуёвым сервером
ответил
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
ну да
Цитата Сообщение от dondublon Посмотреть сообщение
есть вариант в виде COM
Цитата Сообщение от dondublon Посмотреть сообщение
если не хочется через http
ну да так и нужно
но тогда как же я эту вкладку увижу в Лисе, Хроме?
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
12.01.2021, 11:58
Ципихович Эндрю, а зачем вам вкладка?
Чтобы человек нажимал на кнопочки на ней? Но человек сидит за клиентом. А вкладки вы собрались делать на сервере.
1
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
12.01.2021, 16:55
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
должна стать гуёвым сервером
Чего только люди не придумают лишь бы не учить матчасть....
Программа должна изначально работать через REST API, то есть быть изначально web-сервером, который запускается на любом IP адресе с тем или иным портом. Тогда к ней можно и web гуй написать и дергать прогу по http или websocket на любом клиенте с любого IP адреса.
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,330
12.01.2021, 17:00  [ТС]
спасибо за ответы-спрошу у исполнителя о его возможностях
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.01.2021, 17:00
Помогаю со студенческими работами здесь

Взаимодействие веб-приложения с десктопной программой
Здравствуйте. Нужно организовать управление десктоп-приложением через веб-приложение. Можно ли организовать "диалог" между...

Взаимодействие с другой программой. При наличии большого объема обрабатываемых данных. FineReader API, OLE.
Здравствуйте, уважаемые коллеги! Начну с того, что в делфи я не программировал давненько и не писал вообще серьезных вещей к тому же,...

Создание тестового приложения на пайтоне
Как создавать приложение на пайтоне с вопросами по информатике

Взаимодействие с программой на Windows
Всем привет. Есть чат программа на виндоус, там есть список пользователей в отдельной колонке, при нажатии на любого из них открывается...

Взаимодействие php с программой на C++.
На данный момент знаю С++. Летом хочу изучать пхп. Сделаю блаузерную игрушку чтобы и интересно было и пхп на практике применять. Но при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru