2 / 2 / 0
Регистрация: 29.05.2024
Сообщений: 30
|
|
1 | |
Скриншот запущенного приложения27.06.2024, 10:24. Показов 3895. Ответов 8
У меня есть два приложения, запущенных в каком-то режиме, оконном или полноэкранном.
Вопрос, могу ли я сделать скриншот любого из этих приложений, не раскрывая их во весь экран? Т.е. внутри программки, которую я пишу и с которой я работаю, я нажимаю кнопку "1" и у меня где-то сохраняется текущий скрин приложения 1, без разворачивания приложения на весь экран. В той же моей программке я нажимаю кнопку "2" и у меня где-то сохраняется текущий скрин второго приложения, также без разворачивания его на экран. И вот я сижу и балуюсь, нажимаю эти кнопочки, а у меня где-то сохраняются скрины приложений. Интересен конечно самый быстрый способ, возможно это будет работать через openCV, возможно через winApi или что-то ещё. Посоветуйте, пожалуйста, кто сталкивался с такой задачей.
0
|
27.06.2024, 10:24 | |
Ответы с готовыми решениями:
8
Запрет на запуск других экземпляров запущенного приложения Как сделать скриншот полноэкранного приложения? Скриншот экрана(именно самого приложения) возможно такое ? Блокировка запущенного приложения Проверка запущенного приложения |
542 / 332 / 169
Регистрация: 21.02.2011
Сообщений: 5,008
|
|
28.06.2024, 11:43 | 2 |
примерно так наверное
Код
Используйте функцию cv2.VideoCapture() для захвата изображения с экрана. Получаете текущий снимок экрана с помощью функции cv2.VideoCapture.read(). Выделяете область для скриншота приложения, используя координаты и размеры окна приложения. Сохраняете полученный снимок в файл с помощью функции cv2.imwrite().
0
|
2 / 2 / 0
Регистрация: 29.05.2024
Сообщений: 30
|
|
28.06.2024, 12:25 [ТС] | 3 |
Спасибо, а как VideoCapture() поймёт, экран какого приложение надо захватывать?
0
|
542 / 332 / 169
Регистрация: 21.02.2011
Сообщений: 5,008
|
|
28.06.2024, 13:03 | 4 |
Почитайте документацию, туда можно передать индекс приложения или его имя.
Опять же, получить само окно приложения можно и с помощью WinAPI, и потом уже его скриншотить используя методы OpenCV
0
|
2 / 2 / 0
Регистрация: 29.05.2024
Сообщений: 30
|
|
28.06.2024, 13:14 [ТС] | 5 |
Спасибо. Можете дать совет где прочитать про это? Гугл выдаёт примерно миллион ссылок и первые сто тысяч ведут куда-то не туда.
0
|
542 / 332 / 169
Регистрация: 21.02.2011
Сообщений: 5,008
|
||||||
28.06.2024, 13:20 | 6 | |||||
вот, поиграйтесь,
лучше официальную документацию смотреть
0
|
2 / 2 / 0
Регистрация: 29.05.2024
Сообщений: 30
|
|
28.06.2024, 13:40 [ТС] | 7 |
1
|
2 / 2 / 0
Регистрация: 29.05.2024
Сообщений: 30
|
|
29.06.2024, 15:32 [ТС] | 8 |
Поигрался. Докладываю.
Во-первых, спасибо, что объяснили в какую сторону вообще надо копать. Во-вторых, как я понял, ваш ответ был вдохновлён вот этим примером: https://superkogito.github.io/... pencv.html , поэтому исправить ошибку в коде не составило труда. Переменная "bi" не определена в вашем ответе, но я её определил, используя пример из ссылки. В-третьих, могу сказать, что код у меня так и не заработал правильно - возвращаются просто тёмные изображения. Возможно я не верное определил "bi". В-четвёртых, то, что код не работает как надо, это не страшно, т.к. всё равно понятно, что читать, куда смотреть и в каком направлении двигаться в целом. Спасибо, ещё раз и удачи нам всем.
1
|
542 / 332 / 169
Регистрация: 21.02.2011
Сообщений: 5,008
|
|
02.07.2024, 11:10 | 9 |
я и не писал, что скопировав мой код и вставив в свою программу у вас сразу же все заработает.
судя по вашим ответом - вы поняли суть и разобрались, мой посыл был именно в этом.
1
|
02.07.2024, 11:10 | |
02.07.2024, 11:10 | |
Помогаю со студенческими работами здесь
9
Создание COM объекта из запущенного приложения Не отрисовываются элементы запущенного приложения Развертывание уже запущенного приложения Как узнать ID запущенного приложения Настройки приложения запущенного на Tomcat Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |