Я не понимаю, почему Windows создает диалог в вашем приложении. Какой вызов API привел к этому? Обычные файловые операции не показывают пользовательский интерфейс.
Скорее всего, вы использовали функцию API, которая может отображать пользовательский интерфейс, возможно, из API оболочки. Любая функция, которая может показать модальное диалоговое окно, запросит владельца HWND
.
Например, рассмотрим MessageBox()
, функция, которую вы знаете, покажет модальное диалоговое окно в вашем приложении. Его первый параметр называется hWnd
и задокументирован
Дескриптор окна владельца
окно сообщения, которое будет создано. Если это
параметр NULL, окно сообщения имеет
нет окна владельца.
У Раймонда Чена есть целая серия статей о модальности, объясняющих, почему это важно.
У меня есть догадка, что вы вызываете какую-то функцию Win32 API, которая показывает модальный интерфейс, и неправильно устанавливаете владельца HWND
. Конечно, я могу ошибаться, но больше информации нет.