1

Существует приложение, которое мы запускаем, и на некоторых компьютерах с XP оно появляется перед всем остальным, когда оно требует внимания пользователя. Это приложение в реальном времени, поэтому мы хотим, чтобы оно это делало.

Это делается на некоторых компьютерах с XP, но не на других. Я говорил с компанией, которая создает программное обеспечение, и это вне их помощи. Так что я думаю, что это вещь ОС. Отсюда и мое размещение здесь.

Есть ли что-то в ОС (может быть, в реестре), которое можно изменить, чтобы окно приложения могло сфокусироваться и выйти вперед, если это пытается сделать собственное программирование.

1 ответ1

0

Поведение API SetForegroundWindow изменилось в Windows 2000. Раньше приложениям было разрешено «вставлять инфронт» по своему усмотрению, теперь есть ограничения.

Если это действительно SetForegroundWindow() (проверьте с разработчиками вашего программного обеспечения), вы можете попробовать установить параметр SPI_SETFOREGROUNDLOCKTIMEOUT на ноль, используя SystemParametersInfo. Я не совсем уверен, как сделать это с помощью изменения реестра, без фактического вызова этого API.

Обратите внимание, что я бы предпочел не устанавливать общесистемный параметр, чтобы одно приложение работало хорошо. Ограничения SetForegroundWindow существуют достаточно долго, поэтому у компании-разработчика должно было быть достаточно времени, чтобы что-то с этим сделать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .