C # / WINAPI: SetWindowPos () - PullRequest
       17

C # / WINAPI: SetWindowPos ()

0 голосов
/ 27 августа 2009

Я использую SetWindowPos () , чтобы попытаться отправить Windows назад / вперед z-порядка. Похоже, что он работает по большей части, однако я заметил, что для некоторых окон он просто не будет работать, хотя функция вернет успех.

Например, диспетчер задач Windows, кажется, работает отлично, но другие окна не отвечают должным образом на вызов функции.

Любое понимание того, что может происходить? Я знаю, что информация скудна, но я не уверен, что включать.

Ответы [ 2 ]

1 голос
/ 27 августа 2009

В значительной степени похоже, что работает SetForegroundWindow. Из того, что я мог различить, кажется, что использование SetWindowPos и установка окна на HWND_TOP сделает его вершиной z-порядка, следующего за окном переднего плана. Это означает, что как только окно переднего плана будет удалено (свернуто / свернуто), оно станет следующим в ТОПе.

0 голосов
/ 28 августа 2009

У меня тоже есть проблемы с этим в разных процессах. Это из документации MS:

Чтобы использовать SetWindowPos для вывода окна наверх, процесс, которому принадлежит окно, должен иметь разрешение SetForegroundWindow.

может быть причиной?

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