Я искал повсюду ответ, и, надеюсь, это потому, что на него не ответил, а не на мои поисковые термины, не имеющие подробностей. Я знаю, как получить и работать с ручками, я просто задаю общий вопрос.
Каждая программа, которую я создал с помощью MFC, имеет дескриптор окна # 32770, но все остальные окна, такие как поля редактирования и т.д., Имеют динамические ручки, поэтому каждый раз, когда вы открываете программу, дескриптор отличается. Как основная программа обрабатывает его, и можно ли дать любому окну статическое имя, чтобы повторно использовать enumwindows или winspy++/подобные инструменты.
Ручки окон всегда динамичны. Вы управляете ими, сохраняя свои значения в момент создания или используя специальные функции win api, в случае MFC вы используете класс CWnd
или, скорее, классы, полученные из него. Вы можете использовать FindWindow
, если вы хотите найти внешнее окно вашего приложения по имени/классу. В ваших диалогах вы можете использовать GetDlgItem
чтобы найти окно своего элемента управления, используя свой id
.