У меня есть небольшое служебное приложение, написанное в Visual Basic 6, который успешно работал на клиентах XP в течение многих лет, пока недавно клиент, использующий Windows 7, не уведомил и не показал мне, что поведение отличается.
Когда мое приложение VB отображает диалоговое окно, оно остается скрытым до тех пор, пока пользователь не щелкнет его на панели задач.
Я изменил код вместо того, чтобы использовать расширение «.show vbModal", я перешел к отображению формы немодально, а затем добавил различные вызовы API, такие как BringWindowToFront и SetWindowPos, чтобы сделать ее самой верхней, И вызывая .focus на форме, несмотря на эти дополнительные инструкции, лучший результат, которого я могу достичь, это чтобы форма мигала, предлагая пользователю щелкнуть по ней.
Независимо от того, что я пробовал, я не могу сделать окно самым верхним и с фокусом без вмешательства пользователя.
Примечание. Это проект ActiveX exe. и вызывается приложением Win16 через COM.
Кто-нибудь еще сталкивался с таким поведением и знает решение?
Приветствуются любые предложения/советы, спасибо.