Как поместить окно моего приложения в определенную позицию в иерархии окон рабочего стола в Windows с помощью Win32 API? - PullRequest
0 голосов
/ 04 февраля 2010

Я хочу, чтобы окно моего приложения находилось в определенном месте в иерархии окон. То есть у меня на рабочем столе 3 окна. В самом низу у меня Word, окно поверх word - это проводник, а активное окно переднего плана - itunes. Я хочу разместить окно приложения поверх слова, но под проводником. Как я могу добиться этого с win32?

Ответы [ 3 ]

3 голосов
/ 04 февраля 2010

Возможно, вы сможете использовать SetWindowPos - посмотрите на параметр hWndInsertAfter. Я не уверен, будет ли это работать через границы процесса, но это стоит попробовать. Выполните это после того, как ваше окно создано, но перед тем, как сделать его видимым.

0 голосов
/ 04 февраля 2010

Если вы хотите сохранить это расположение, самый простой способ - это создать свое окно, указав «Слово» в качестве родителя.

В противном случае SetwindowPos - универсальный рабочий инструмент для управления положением, видимостью и глубиной окна.Но любой выполненный здесь z-порядок, очевидно, будет утерян, как только пользователь фактически начнет переключать задачи.

Одна вещь, на которую следует обратить внимание: windows всегда поднимает активное окно к вершине z-порядка, ианалогично, активирует любое окно, которое перемещено к вершине z-порядка.Однако существуют ограничения: - чтобы предотвратить всевозможное раздражающее поведение, Windows препятствует тому, чтобы приложения крали активацию без взаимодействия с пользователем - это означает, что, если слово в настоящее время является активным окном, SetWindowPos для размещения себя над Word будет успешным, только если ваше приложение разрешенопринять активацию в это время.

0 голосов
/ 04 февраля 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...