Что находится внутри Windows SDK? - PullRequest
2 голосов
/ 20 мая 2010

Для разработки программ для Windows нам нужен Windows SDK. Я понимаю, что этот SDK - это то, что помогает создавать окна и обрабатывать события окон и все такое. Я полагаю, что это также позволяет нам манипулировать файлами и реестрами. (Является ли тот же SDK причиной для создания и обработки потоков?)

Все хорошо!

Я хотел бы знать, какие файлы и библиотеки входят в состав этого SDK. Также это происходит, когда я устанавливаю ОС или когда я устанавливаю редакторы, такие как Visual Studio? Иногда я вижу ссылки на Windows SDK отдельно как таковые. Это то же самое, что я получаю при установке Visual Studio, или есть что-то большее.

Ответы [ 3 ]

2 голосов
/ 20 мая 2010
Base Services: 

Предоставляет доступ к основным ресурсам, доступным для системы Windows. Включены такие вещи, как

  • файловые системы,
  • устройства,
  • процессы и темы
  • и обработка ошибок.

Эти функции находятся в kernel32.dll в 32-битной Windows.

Advanced Services:

Предоставляет доступ к функциональности, которая является дополнением к ядру. Включены такие вещи, как

  • Реестр Windows
  • выключение / перезапуск системы (или отмена)
  • запуск / остановка / создание службы Windows
  • управление учетными записями пользователей

Эти функции находятся в advapi32.dll в 32-битной Windows.

Graphics Device Interface:

Предоставляет функциональность для вывода графического содержимого в

  • мониторов,
  • принтеры
  • и другие устройства вывода.

Он находится в gdi32.dll на 32-битной Windows в режиме пользователя. Поддержка GDI в режиме ядра обеспечивается win32k.sys, который напрямую взаимодействует с графическим драйвером.

User Interface:

Предоставляет функциональность для создания окон экрана и управления ими, а также основные элементы управления, такие как

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

Эта функциональная единица находится в user32.dll в 32-битной Windows. Начиная с версий Windows XP, основные элементы управления находятся в файле comctl32.dll вместе с общими элементами управления (Common Control Library).

Common Dialog Box Library:

Предоставляет приложениям стандартные диалоговые окна для

  • открытие и сохранение файлов,
  • выбор цвета и шрифта и т. Д.

Библиотека находится в comdlg32.dll в 32-битной Windows. Он сгруппирован по категории «Интерфейс пользователя» API.

Common Control Library:

Предоставляет приложениям доступ к некоторым расширенным элементам управления, предоставляемым операционной системой. К ним относятся такие вещи, как

  • строки состояния,
  • индикаторы выполнения,
  • Панели инструментов
  • и вкладки.

Библиотека находится в comctl32.dll в 32-битной Windows. Он сгруппирован по категории «Интерфейс пользователя» API.

Windows Shell:

Компонент Windows API позволяет приложениям получать доступ к

  • функциональность, предоставляемая оболочкой операционной системы,
  • а также изменить и улучшить его.

Компонент находится в shell32.dll в 32-битной Windows. Облегченные служебные функции оболочки находятся в shlwapi.dll. Он сгруппирован по категории «Интерфейс пользователя» API.

Network Services:

Предоставьте доступ к различным сетевым возможностям операционной системы. Его подкомпоненты включают

  • NetBIOS,
  • Винсок,
  • NetDDE,
  • RPC и многие другие.

    API браузера Internet Explorer:

  • Встраиваемый элемент управления веб-браузера, содержащийся в shdocvw.dll и mshtml.dll.
  • Служба мониторинга URL-адресов, хранящаяся в urlmon.dll, которая предоставляет COM-объекты приложениям для разрешения URL-адресов.
  • Библиотека для поддержки многоязычной и международной поддержки текста (mlang.dll). Поддержка XML (компоненты MSXML, хранящиеся в msxml * .dll).

Я перечислил только файлы для 32-битных окон (так работают многие разработчики окон)

Для получения дополнительной информации, пожалуйста, проверьте http://en.wikipedia.org/wiki/Windows_API

EDIT: Выше библиотеки и все они являются частью операционной системы, а не SDK. Windows SDK предоставляет библиотеки импорта (файлы .lib), которые позволяют коду динамически связываться с этими предоставленными системой DLL. (Это справедливо указал Марсело Кантос. Большое ему спасибо)

2 голосов
/ 20 мая 2010

SDK означает Комплект разработки программного обеспечения .Это большая коллекция заголовков, библиотек, инструментов и других частей, которые разработчики используют для создания программного обеспечения.Microsoft предоставляет множество SDK для своего широкого ассортимента продуктов, и они , а не , как правило, развертываются на рабочем столе конечного пользователя.Они обычно устанавливаются только на компьютерах разработчиков, либо как часть среды разработки, такой как Visual Studio, или по отдельности (но обычно все равно предназначены для использования в VS).

Когда вы говорите о том, что обрабатывает окна, потокии т. д., вы описываете Windows API.Цель SDK - позволить разработчикам писать программное обеспечение, которое обращается к API.

1 голос
/ 20 мая 2010

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

SDK устанавливается как часть установки Visual Studio, и обычно вы будете использовать тот, который поставляется с компилятором, и вам никогда не придется об этом беспокоиться. Отдельные загрузки SDK предназначены для поддержки двух сценариев:

  • Если вы используете компилятор, отличный от Visual Studio, он может не поставляться с файлами SDK, поэтому вы можете загрузить их отдельно.

  • Каждая новая версия Windows включает в себя больше функций в API, поэтому для вызова этих новых функций необходим обновленный SDK.

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