1) 基本 API 和 shell API 有什么区别?
他们做不同的事情。ShellExecute 系列的工作方式与 shell 相同,即与 Windows 资源管理器相同。它不仅仅是一个围绕 CreateProcess 的包装器。例如,如果您将 word 文档的路径传递给 ShellExecute,ShellExecute 将在注册表中查找打开 word 文档的正确方法,然后执行该操作。
ShellExecute 还可以执行您在 Windows 上下文菜单中看到的其他“动词”,例如编辑、打印等。
2) 基础 API 和 Shell API 与 CRT 函数有何不同
CRT 功能在 Windows 上实现,以便与 C 标准兼容。它们是 CreateProcess 的包装器,但它们存在的原因是为了兼容而不是提供额外的功能。
3) 如何使用 Shell API
要使用 shell API,您只需包含头文件并链接正确的库,就像使用任何其他 API 一样。
例如,ShellExecute:
正如您在页面底部看到的那样,它会告诉您要包含哪个文件以及要链接到哪个库。
要求
支持的最低客户端:Windows XP [仅限桌面应用程序]
支持的最低服务器:Windows 2000 Server [仅限桌面应用程序]
头文件:Shellapi.h
库:Shell32.lib
DLL:Shell32.dll(版本 3.51 或更高版本)
Unicode 和 ANSI 名称:ShellExecuteW (Unicode) 和 ShellExecuteA (ANSI)