Насколько легко в DWM создать миниатюру «всегда сверху» для существующего окна

StackOverflow https://stackoverflow.com/questions/550194

  •  23-08-2019
  •  | 
  •  

Вопрос

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

Часто мне очень хочется «оторвать» это маленькое окошко и оставить его на экране в виде миниатюры «всегда сверху».Может быть, я смотрю индикатор выполнения, а может быть, это видео, которое я хочу просмотреть.

Разве это не то, что DWM упрощает программирование?Будет ли это простой попыткой программировать на хорошо управляемом C# - или в конечном итоге я увязну в сложных вещах API?

Меня интересуют как существующие решения, так и подсказки о том, как написать что-то подобное.

Это было полезно?

Решение

Очень хороший предварительный просмотр того, как использовать это в C#:

http://community.bartdesmet.net/blogs/bart/archive/2006/10/05/4495.aspx

Другие советы

Извините за саморекламу здесь.:) Просто упомянув, что уже есть приложение, которое позволяет клонировать каждое окно верхнего уровня и сохранять их предварительный просмотр «всегда на вершине»: Онтопреплика.

Программа основана на Windows Формы Аэро — библиотека .NET (C#), включающая некоторые оболочки DWM.Никаких сложных API не требуется (кроме того, API в любом случае довольно простой).

Да, вы можете создавать свои собственные миниатюры, похожие на панель задач.Однако вам придется проделать немало манипуляций с дескрипторами окон.По сути, это работает так: вы создаете в форме дочернее окно, которое будет миниатюрой.Вы получаете дескриптор окна верхнего уровня, миниатюру которого хотите получить, используя обычные приемы.Затем вы вызываете функцию DWM DWMRegisterThumbnail, чтобы связать их.На самом деле вы вообще не участвуете в рисовании миниатюры — как только окна связаны, процесс компоновки DWM позаботится о рисовании миниатюры окна верхнего уровня в вашей форме.

Документация MSDN

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top