我正在阅读Windows进程API,但遇到三个问题:
基本API和Shell API有什么区别?我读到Shell API包装了基本的API,例如ShellExecute()和ShellExecuteEx()包装了CreateProcess(),但无法理解它们之间的区别。
基本API和Shell API与CRT函数(C运行时)有何不同。同样,exec()和spawn()CRT函数包装基本API的CreateProcess()。
我了解可以通过编译和链接正确的头文件直接使用基本的API和CRT函数从代码。如何使用Shell API?
1)基本API和Shell API有什么区别?
他们做不同的事情。ShellExecute家族以与Shell相同的方式进行操作,即与Windows资源管理器相同的方式。它不仅是CreateProcess的包装。例如,如果将Shell文档的路径传递给ShellExecute,ShellExecute将在注册表中查找以找出打开Word文档的正确方法,然后执行此操作。
ShellExecute还可以执行您在Windows上下文菜单上看到的其他“动词”,例如编辑,打印等。
2)基本API和Shell API与CRT功能有何不同
CRT功能在Windows上实现,以便与C标准兼容。它们是CreateProcess的包装器,但是它们存在的原因是为了兼容而不提供其他功能。
3)如何使用Shell API
要使用外壳程序API,只需包含头文件并链接正确的库即可,就像其他任何API一样。
例如,ShellExecute:
如您在页面底部所看到的,它告诉您要包含的文件以及要链接的库。
要求
最低支持的客户端:Windows XP [仅桌面应用程序]
支持的最低服务器:Windows 2000 Server [仅桌面应用程序]
标题:Shellapi.h
程式库:Shell32.lib
DLL:Shell32.dll(版本3.51或更高版本)
Unicode和ANSI名称:ShellExecuteW(Unicode)和ShellExecuteA(ANSI)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句