Windows SDK 里面有什么?

AKN*_*AKN 4 windows sdk winapi

为了开发Windows程序,我们需要Windows SDK。据我所知,这个 SDK 有助于创建窗口和处理窗口事件等。我想它还使我们能够操作文件和注册表。(线程创建和处理的原因是同一个SDK吗?)

一切都好!

我想知道这个 SDK 包含哪些文件和库。当我安装操作系统或安装 Visual Studio 等编辑器时也会出现这种情况吗?有时我会单独看到 Windows SDK 的链接。它与我安装 Visual Studio 时得到的相同还是有更多内容。

AKN*_*AKN 5

Base Services: 
Run Code Online (Sandbox Code Playgroud)

提供对 Windows 系统可用的基本资源的访问。包括诸如此类的东西

  • 文件系统,
  • 设备,
  • 进程和线程
  • 和错误处理。

这些函数驻留在 32 位 Windows 上的 kernel32.dll 中。

Advanced Services:
Run Code Online (Sandbox Code Playgroud)

提供对内核附加功能的访问。其中包括诸如

  • Windows注册表
  • 关闭/重新启动系统(或中止)
  • 启动/停止/创建 Windows 服务
  • 管理用户帐户

这些函数驻留在 32 位 Windows 上的 advapi32.dll 中。

Graphics Device Interface:
Run Code Online (Sandbox Code Playgroud)

提供将图形内容输出到的功能

  • 监视器、
  • 打印机
  • 和其他输出设备。

它驻留在 32 位 Windows 用户模式下的 gdi32.dll 中。内核模式 GDI 支持由 win32k.sys 提供,它直接与图形驱动程序通信。

User Interface:
Run Code Online (Sandbox Code Playgroud)

提供创建和管理屏幕窗口和最基本控件的功能,例如

  • 按钮和滚动条,
  • 接收鼠标和键盘输入,
  • 以及与 Windows GUI 部分相关的其他功能。

该功能单元驻留在 32 位 Windows 上的 user32.dll 中。从Windows XP版本开始,基本控件与通用控件(通用控件库)一起驻留在comctl32.dll中。

Common Dialog Box Library:
Run Code Online (Sandbox Code Playgroud)

为应用程序提供标准对话框

  • 打开和保存文件,
  • 选择颜色和字体等

该库位于 32 位 Windows 上的 comdlg32.dll 中。它被分组在 API 的用户界面类别下。

Common Control Library:
Run Code Online (Sandbox Code Playgroud)

使应用程序能够访问操作系统提供的一些高级控件。这些包括诸如

  • 状态栏,
  • 进度条,
  • 工具栏
  • 和选项卡。

该库位于 32 位 Windows 上的 comctl32.dll 中。它被分组在 API 的用户界面类别下。

Windows Shell:
Run Code Online (Sandbox Code Playgroud)

Windows API 的组件允许应用程序访问

  • 操作系统外壳提供的功能,
  • 以及改变和增强它。

该组件驻留在 32 位 Windows 上的 shell32.dll 中。Shell 轻量级实用函数位于 shlwapi.dll 中。它被分组在 API 的用户界面类别下。

Network Services:
Run Code Online (Sandbox Code Playgroud)

允许访问操作系统的各种网络功能。其子组件包括

  • 网络BIOS,
  • 温索克,
  • 网络DDE,
  • RPC 等等。

    Internet Explorer Web 浏览器 API:

  • 可嵌入的 Web 浏览器控件,包含在 shdocvw.dll 和 mshtml.dll 中。
  • URL 监视服务,保存在 urlmon.dll 中,它向应用程序提供 COM 对象以解析 URL。
  • 用于协助多语言和国际文本支持的库 (mlang.dll)。XML 支持(MSXML 组件,保存在 msxml*.dll 中)。

我仅列出了 32 位 Windows 的文件(因为这是许多窗口开发人员所从事的工作)

欲了解更多信息,请查看http://en.wikipedia.org/wiki/Windows_API

编辑: 以上 dll 和所有这些都是操作系统的一部分,而不是 SDK 的一部分。Windows SDK 提供了导入库(.lib 文件),允许代码动态链接到这些系统提供的 DLL。(马塞洛·坎托斯(Marcelo Cantos)正确地指出了这一点。非常感谢他)