Рэймонд Чен объясняет, что управляет правилами в Windows вокруг активации на переднем плане, в своей классической статье Разрешение на активацию на переднем плане похоже на любовь: его нельзя украсть, оно должно быть дано вам . Грубо говоря, вы не можете украсть активацию переднего плана с помощью вызова типа SetForegroundWindow
, вам нужно дать его от процесса, который уже имеет активацию переднего плана.
В вашем случае, когда вы показываете в панели задач набор, панель задач может дать вашему приложению активацию переднего плана, потому что когда вы нажимаете на значок панели задач для своего окна, это (кратко) даст активацию панели задач. , Если у вас нет активации, показанной на панели задач, вам нужно найти способ, чтобы приложение, которое действительно дает ее вам. Один из явно разрешенных способов - использовать значок окна уведомлений (трей).