outcoldman
outcoldman Denis Gladkikh

Работа с окнами как в Windows 7: исправления и дополнения

WinForms, WinAPI, and VistaKeysExtender

Программа для работы с окнами в Windows, написанная пару дней назад, оказалась полезная не только мне. Пару слов о назначении: эта программа упрощает работу с окнами (максимизация, свертывания, перемещение).

Так вот: были выдвинуты предложения и замечания по реализации, которые я воплотил в жизнь.

1. Изменена работа с перехватам клавиш, точнее нажатия клавиш теперь вообще не перехватываются, а честно регистрируются как глобальные hotkeys в windows. Это нам дает возможность проще назначать клавиши (Правда выбор Windows Key я все таки оставил за собой), а так же просто привлекательность в реализации.

2. Добавлена возможность перемещать окна (которые находятся в стадии ShowNormal) при помощи hotkeys (стандартные Ctrl+Win+[UP|DOWN|LEFT|RIGHT]). В Vista я у меня даже окно, которое появляется при нажатии на пуск удалось потаскать.

3. Переработана немного возможность работы с окнами в плане "цепляний" к бокам. Теперь функциональность более стала похожа на Win7. Например, если на Maximized окне нажать вниз (Win+Down), то оно сначала станет Normal, затем еще раз вниз и оно свернется.

4. Доработан интерфейс (маленький, но все же он есть), который позволяет настраивать hotkeys.

5. Для x64 пришлось пришлось немного доработать код. Теперь программа работает и в x64 и в x86 архитектуре.

6. Добавлена поддержка многомониторных систем.

P.S. Сюда не стал больше выкладывать куски кода, кто хочет - может как всегда скачать их и посмотреть реализацию. Тем более, что я проект выложил на Google Code. Желающие доработать могут присоединиться, я с удовольствием добавлю вас к membership-ам ;)

Have feedback or questions? Looking for consultation?

My expertise: MongoDB, ElasticSearch, Splunk, and other databases. Docker, Kubernetes. Logging, Metrics. Performance, memory leaks.

Send me an email to public@denis.gladkikh.email.

The content on this site represents my own personal opinions and thoughts at the time of posting.

Content licensed under the Creative Commons CC BY 4.0.