Я написал образец приложения MFC, в котором есть два потока: - основной поток (поток пользовательского интерфейса) - рабочий поток (поток, не связанный с пользовательским интерфейсом).
У меня есть особое требование создать диалоговое окно Modal
в Non-UI (рабочий поток). Когда я создаю объект CDialog
и вызываю для него DoModal
, он работает. Диалоговое окно создается и действует как модальное для приложения. (Машина Win XP SP2) Но это не работает на сервере Windows 2003. Поведение на сервере 2003 заключается в том, что модальное диалоговое окно выходит за главное окно приложения, и диалоговое окно будет отображаться на переднем плане только тогда, когда я нажимаю на главное окно. Он не действует как модальный диалог для моего приложения.
В чем может быть проблема, есть идеи?
Если проблема заключается в создании элементов управления пользовательского интерфейса в потоке, отличном от пользовательского интерфейса, то существует ли какой-либо API Win32, который позволит мне связать мой рабочий поток с основным потоком пользовательского интерфейса, чтобы DoModal
происходило в основном потоке. Я попробовал AttachThreadInput, но это не работает.