use*_*694 3 windows api winapi process
我正在阅读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的包装器.例如,如果您传递给ShellExecute一个word文档的路径,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)
| 归档时间: |
|
| 查看次数: |
514 次 |
| 最近记录: |