У нас есть приложение Win32, которое содержит среду выполнения .NET и открывает управляемые формы .NET из части приложения Win32.
Эти окна всегда открываются как модальные окна.
На некоторых машинах, когда эти окна закрыты, находящееся позади окно Win32 не фокусируется, а отправляется за Word, Outlook или чем-либо еще, что у вас может быть открыто.
Кроме того, иногда, если мы открываем такую форму .NET, затем alt-tab для Word или другого приложения, а затем нажимаем значок на панели задач для нашего приложения, появляется окно Win32. Это, конечно, все еще ждет закрытия модального окна .NET, поэтому его, конечно, нельзя использовать. Если мы alt-tab перейдем к чему-то другому и просто свернем это, то наше окно .NET появится снова.
Несоответствующая часть заключается в том, что это происходит только на некоторых машинах, а не на всех. На многих машинах, в том числе и на моем, работает точно так, как ожидалось. Фокус на правильное окно работает каждый раз.
Я не сомневаюсь, что мы сделали что-то не так, но я не могу понять, в чем проблема.
Кто-нибудь знает, что я должен искать? Мы рассмотрели установленные среды выполнения .NET, и поскольку две такие машины, на которых она работает на одной, а не на другой, являются машинами разработчика, они содержат одинаковые пакеты обновления для .NET и т. Д.
Редактировать: Ну, @ sam , вы были правы в том, что у нас были разные настройки в этом ряду. На обеих машинах установлен пакет обновления 3 (SP3) для Windows XP, но на моем компьютере работала классическая тема Windows, а на другой - новая тема XP. Смена темы на другом компьютере на классическую устраняет проблему, но если вернуться к теме XP, она не появляется снова.
Итак, теперь у нас есть две машины, на которых она работает, и у клиента все еще есть проблема, хотя у клиента, очевидно, работает классическая тема.