Windows API Wrapper для .Net? - PullRequest
       6

Windows API Wrapper для .Net?

3 голосов
/ 21 октября 2010

Windows API


Так что я знаю, что WinForms немного затрагивает Windows API, но, честно говоря, это ужасно. ОСОБЕННО с многослойными окнами и мерцанием. Поэтому мне было интересно, написал ли кто-нибудь частичные или полные обертки для Windows API. Меня особенно интересует аспект Многослойного окна, но на самом деле любая часть API - хорошее место для начала.

Обновление : Я нашел здесь Windows Code Code Pack: http://code.msdn.microsoft.com/WindowsAPICodePack, но похоже, что он не переносит многослойную Windows? Правильно ли я предположил это?

Собственный API (Windows)


Я немного слышал о Native API, но я не совсем уверен, для чего он нужен? какие функции он предоставляет? это было бы хорошей идеей для изучения?

Краткое содержание (вопросы в двух словах)


  1. Кто-нибудь знает о существующей (частичной или полной) оболочке Windows API?
    • Если на первый вопрос нет ответа, где был бы хороший ресурс, чтобы узнать об этом самому и, возможно, написать свой собственный?
  2. Объяснение нативного API? Что оно делает? Могу ли я использовать его для улучшения приложений? Могу ли я вообще его использовать?

Ответ на любой из них высоко ценится :) спасибо

Ответы [ 3 ]

4 голосов
/ 21 октября 2010

Вы можете начать с PInvoke.NET .

2 голосов
/ 21 октября 2010

LayeredWindows на самом деле работает лучше в WinForms, чем Windows.Родные элементы управления Windows даже не имеют поддержки альфа-каналов аналогов WinForms, поэтому собственные окна мерцают и требуют огромного количества подклассов для переопределения рисования для использования альфа-совместимых подпрограмм.собираюсь в WPF.Команда Windows вообще не обработала собственный элемент управления, зашла так далеко, что удалила поддержку стиля (WS_EX_COMPOSITED), если включено аэростекло, что, учитывая способ управления окнами рисованием, эффективно делало невозможным рисование для любого приложениябез мерцания, если он использует дочерние окна в качестве элементов управления.

WPF «рисует» элементы управления окнами, но не использует дискретные (собственные) дочерние окна для представления отдельных элементов управления.Это дает ему контроль над тем, когда и как отображается его оконная поверхность.

2 голосов
/ 21 октября 2010

Windows API огромен.В нем масса вещей.Windows Forms - это оболочка его частей.WPF - это оболочка его частей.Части библиотек базовых классов (например, System.IO. *) Являются оболочками его частей.Code Pack представляет собой обертку, в частности, новинок в Vista и Windows 7, а не в Windows Forms или WPF.В сочетании с P / Invoke для определенных функций API вы можете продвинуться далеко вперед, туда, где вы хотите быть.

...