У меня есть программа на Python, которая получает дескриптор окна через COM из другой программы (представьте, что программа Python является надстройкой). Я установил это окно как родительский элемент основного фрейма Python, чтобы, если другая программа свернула, Python кадр тоже будет. Проблема в том, что когда я иду к выходу и пытаюсь закрыть или уничтожить основной фрейм, frame.close никогда не завершает своего выполнения (хотя и исчезает), а другая программа отказывается закрываться, если не будет уничтожена с помощью TaskManager.
Вот примерно шаги, которые мы предпринимаем:
if we are started directly, launch other program
if not, we are called from the other program, do nothing
enter main function:
create new wx.App
set other program as frame parent:
Get handle via COM
create a parent using wx.Window_FromHWND
create new frame with handle as parent
show frame
enter main loop
App.onexit:
close frame
frame = None
handle as parent = None
handle = None
У кого-нибудь есть мысли по этому поводу или опыт с подобными вещами?
Я ценю любую помощь с этим!
[Изменить]
Это только тот случай, когда я использую дескриптор в качестве родителя, если я просто получаю дескриптор и закрываю программу python, другая программа закрывается нормально