Закрыть Python, когда Parent закрыт - PullRequest
0 голосов
/ 05 октября 2009

У меня есть программа Python (PP), которая загружает другую программу (AP) через COM, получает дескриптор окна и устанавливает его в качестве родителя PP.

Это работает довольно хорошо, за исключением того, что я не могу контролировать, что у AP все еще есть кнопка [X], доступная в верхнем левом углу. Поскольку это довольно очевидное место для пользователя, чтобы закрыть его, когда они закончат работу с программой, я попробовал это, и он оставил PP в Диспетчере задач работающим, но не видимым без возможности убить его, кроме как через Диспетчер задач. Любые идеи о том, как справиться с этим? Я ожидаю, что это будет довольно распространенным явлением, когда пользователь закрывается таким образом.

Спасибо!

Ответы [ 2 ]

1 голос
/ 06 октября 2009

Как поток управления ПП? Если он управляется событиями, он может получать соответствующие события после закрытия родительского окна или завершения этого процесса AP; в противном случае он может «опросить», чтобы проверить, все ли время вокруг окна или процесса.

0 голосов
/ 07 октября 2009

Как вы сказали, вы получаете дескриптор AP и передаете его PP, поэтому PP имеет этот дескриптор, поэтому, когда AP закрывается, PP может проверить, существует ли этот дескриптор окна, используя Windows API IsWindow или IsWindowVisible в зависимости от ваших потребностей

import win32gui
win32gui.IsWindow(handle)
win32gui.IsWindowVisible(handle)
...