Я работаю над комплектом заставки C# XNA, и до сих пор все на месте, за исключением диалогового окна конфигурации, которое должно быть модальным для Настройки заставки диалог, предоставляемый окнами ("/ c: < hwnd>" аргумент).C# screensaver: диалог конфигурации модальный к предоставленному HWND
Мой тестом является Vistas встроенного 3D Text заставки - мой код обеспечивает ту же функцию и о диалоге конфигурации, 3D Text отображает полностью модальный к Screen Saver Settings диалога и при нажатии Screen Saver Settings Диалог, диалоги мигают без принятия щелчка.
Я попробовал метод обертывания HWND с IWin32Window как предложил Ryan Farley, но даже если мои диалоговые отображается на верхней части Параметры экранной заставки диалога элементы управления в настройках Экономии диалога экрана все еще может быть щелкнул.
Мне нужны некоторые экзотические вызовы Win32API, чтобы сообщить родительскому диалогу о том, что он был модализован или существует более чистое решение?
Я уже пользуюсь SetParent, но теперь я обнаружил, что HWND-провайдер ed by windows на заставку является дочерним элементом диалогового окна настроек, поэтому, вызывая GetParent на HWND, я получаю HWND, который представляет диалог. –
Итак, это работает? – SLaks
Да, да. Диалоговое окно конфигурации полностью модально к диалоговому окну настроек заставки Windows. –