WinAPI Shell API与基本API和CRT函数有何不同?

用户名

我正在阅读Windows进程API,但遇到三个问题:

  1. 基本API和Shell API有什么区别?我读到Shell API包装了基本的API,例如ShellExecute()和ShellExecuteEx()包装了CreateProcess(),但无法理解它们之间的区别。

  2. 基本API和Shell API与CRT函数(C运行时)有何不同。同样,exec()和spawn()CRT函数包装基本API的CreateProcess()。

  3. 我了解可以通过编译和链接正确的头文件直接使用基本的API和CRT函数从代码。如何使用Shell API?

Ben

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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

WinAPI Shell API与基本API和CRT函数有何不同?

来自分类Dev

PowerShell和WinApi

来自分类Dev

WinAPI Unicode和ANSI函数

来自分类Dev

golang,调用WinVolumeInformation winapi函数

来自分类Dev

Powershell和WinApi EnumWindows功能

来自分类Dev

按钮和组合框WinAPI

来自分类Dev

awk的$与shell的$有何不同?

来自分类Dev

winapi从函数地址获取错误的名称

来自分类Dev

delphi-调用外部WinAPI函数

来自分类Dev

C ++ WINAPI调用通过GetProcAddress导出的函数

来自分类Dev

Nasm-Crinkler不导入Winapi函数

来自分类Dev

C ++ WINAPI调用通过GetProcAddress导出的函数

来自分类Dev

使用目标文件调用winapi函数

来自分类Dev

为什么存在 CopyRect WinAPI 函数?

来自分类Dev

遇到syscall.Syscall和WinAPI的麻烦

来自分类Dev

WinAPI:tabcontrol、图像和换行符

来自分类Dev

ReleaseMutex在错误的时间和程序不同步winapi

来自分类Dev

WinApi,:: TextOut具有不同的字体(例如Tahoma)错误

来自分类Dev

它是具有PathIsRelative函数的WinAPI错误吗?

来自分类Dev

使用WinAPI函数时垃圾收集器崩溃

来自分类Dev

将.NET结构与WINAPI函数一起使用

来自分类Dev

WinAPI MoveWindow函数不适用于某些Windows

来自分类Dev

使用WinApi函数在c中读取串口;WaitCommEvent失败

来自分类Dev

WinAPI CreateWindow函数创建的窗口小于设置的窗口

来自分类Dev

将.NET结构与WINAPI函数一起使用

来自分类Dev

SelectObject WinApi函数无法在Rad Studio Seatle中进行编译

来自分类Dev

Winapi WriteFile函数写入一个字节

来自分类Dev

函数挂钩实际上是如何工作的?WinAPI,C++

来自分类Dev

WinAPI和启动位置中的程序被用户禁用