снимок экрана приложение в Python, независимо от того, что перед ним

В дополнение к ответам, касающимся интервала возврата... просьба об исправности. Определите свои коды выхода в перечислении с Флагами в подходящих случаях. Это делает отладку и обслуживание настолько легче (и, в качестве награды, можно ли легко распечатать коды выхода на экране справки - у Вас действительно есть один из тех, правильно?).

enum ExitCode : int {
  Success = 0,
  InvalidLogin = 1,
  InvalidFilename = 2,
  UnknownError = 10
}

int Main(string[] args) {
   return (int)ExitCode.Success;
}
5
задан Adam Lear 19 December 2011 в 18:47
поделиться

4 ответа

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

1
ответ дан 14 December 2019 в 01:14
поделиться

I ' я сделал то же самое, предоставив приложению, которое я хочу, сфокусироваться перед съемкой:

shell=win32com.client.Dispatch("Wscript.Shell")
success = shell.AppActivate(app_name) # Returns true if focus given successfully.
3
ответ дан 14 December 2019 в 01:14
поделиться

IIRC, не в Windows pre-vista - с Aero каждое окно имеет свой собственный буфер, но перед этим вы просто использовали бы свой метод получения прямоугольника. Я не уверен, поддерживает ли pywin32 Aero или нет.

0
ответ дан 14 December 2019 в 01:14
поделиться

Может быть вы можете поместить приложение за пределы экрана, затем сделать снимок экрана и вернуть его обратно?

1
ответ дан 14 December 2019 в 01:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: