Здравствуйте!
Это продолженные задачи “Hook на окно Excel” (в форуме VBA) но тема по существу другая и рискнул написать сюда.
Вопрос у меня такой:
имею MDI форму. Запускаю оттуда Excel
через определенные интервалы, нахожу Handle Foreground окна и сравниваю ее
Frgn_pid и pid моего Excel, плюс сравниваю exe файл этого Frgn_pid и "Excel.exe"
если все это условие удовлетворяется, пишу
SetParent hWnd Excel, hWnd_ MDI
так все работает, Excel полностью в моем окне.
вариант 2.
Запускаю из MDI формы Excel. жду, пока он хорошо откроется : ))
и начинаю перебирать все открытие окна, для всех нахожу ID процесса и проверяю условие как в первом варианте pid= pid_Excel и exe = "Excel.exe"
если все это условие удовлетворяется, пишу
SetParent hWnd Excel, hWnd_ MDI
В мое окно попадает не аппликация Excel, а книга Book1
вы скажете, что в место окно Excel я нашел окно книги. Но, перебирая, проверяю пока Parent hWnd, не ровняется нулю.
Это условие вместе с проверкой pid и exe по моему должно вернуть Handle Excel главного, нет?