Кто-нибудь знает, какие параметры передать dwmapi.dll порядковому номеру # 113? - PullRequest
2 голосов
/ 27 мая 2009

Кто-нибудь знает, какие параметры передать dwmapi.dll порядковому номеру # 113? (Windows 7)

Я пытаюсь включить этот метод в приложение, которое я пишу. Из того, что я могу сказать, этот метод ответственен за то, что делает Aero peek для окон. Если я не передам ни одного параметра в метод, он покажет рабочий стол и контуры всех открытых не развернутых окон. Ничего не происходит, когда я пытаюсь передать параметры - что я сделал, используя метод проб и ошибок ... в основном ошибки.

Любая помощь будет принята с благодарностью.

Ответы [ 6 ]

11 голосов
/ 27 мая 2009

Не делай этого. Это недокументировано по причине и может быть изменено и / или удалено в любое время. Учитывая, что Windows 7 еще не выпущена, вы даже не сможете гарантировать, что она будет в финальной версии.

1 голос
/ 22 октября 2011

Я думаю, это потому, что aeropeek не поддерживается всеми редакциями Windows, home basic не поддерживается, может быть, вы можете реализовать свой собственный просмотр окна или, по крайней мере, подделать его, используя альфа-прозрачность (при рисовании некоторой границы), и запрашивать нижележащие окна, используя прямоугольные координаты окна аналогичны алгоритму обнаружения столкновения прямоугольника.

1 голос
/ 26 августа 2011

Ну, я привык имитировать Alt-Tab с помощью функции AeroPeek.

using System.Runtime.InteropServices;
...   
[DllImport("dwmapi.dll", EntryPoint = "#113", SetLastError = true)]
            internal static extern uint DwmpActivateLivePreview(uint a, IntPtr b, uint c, uint d);
...
//To call it
IntPtr peekHwnd = //<-- here goes the application Handle to aeropeek
//to enable
DwmpActivateLivePreview(1, peekHwnd, 0, 1);
...
//to disable
DwmpActivateLivePreview(0, peekHwnd, 0, 1);

Используйте его осторожно, так как многие комментарии говорят вам, что по какой-то причине он недокументирован.

1 голос
/ 27 мая 2009

Ваши теги несовместимы. API - это интерфейс прикладного программирования. Порядковый номер 113 недокументирован, потому что он не является частью интерфейсов для приложений. Вероятно, он присутствует, потому что ОС нуждается в этом сама, или потому что текущий RC не завершил его удаление и т. Д.

0 голосов
/ 28 мая 2009

Существует причина, по которой приложения не могут активировать Aero Peek - пользователь сам выбирает, когда это произойдет, а не вы.

0 голосов
/ 28 мая 2009

Пожалуйста, прочитайте Блог Раймонда Чена , пока не поймете, что это действительно очень плохая идея!

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