Windows API是什么
Windows系统是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务 ,就是一个函数)可以帮应用程序达到开启视窗、描绘图形、使用周边设备等,由于这些函数服务的对象是应用程序(Application),所以便称之为Application Programming Interface,简称API函数,Win32 API也就是Microsoft Windows 32位平台的应用程序接口
Windows API 就是Windows应用程序接口,是针对Microsoft Windows 操作系统家族的编程接口,这样的系统包括Windows8.1、Windows8、WIndows7、Windows Vista、Windows XP、Windows Server2012、Windows Server2003、Windows 2008 R2、Windows 2000、Windows 95等等,几乎windows所有版本
其中位WIndows操作系统的编程接口为,Win API以便于于以前的16位的Windows API区分开
Windows API大致分为以下几个函数大块:
- 基本服务
- 组件服务
- 用户界面服务
- 图形多媒体服务
- 消息和协作
- 网络
- web服务
举个例子,比如我们要和删除文件,这个时候我们可以使用 win32中 DeleteFile()函数
语法
BOOL DeleteFile(
LPCTSTR lpFileName
);
可以看到DeleteFile返回类型是BOO类型,需要的参数是lpFileName ::: tip 提示 从Windows 10版本1607开始,对于此功能的unicode版本(DeleteFileW),您可以选择删除MAX_PATH字符限制,而无需添加“ \?\”。有关详细信息,请参见命名文件,路径和命名空间的“最大路径限制”部分 。 :::
如果函数成功,则返回值为非零。
如果函数失败,则返回值为零(0)。要获取扩展的错误信息,请调用 GetLastError。
如果应用程序尝试删除不存在的文件,则 DeleteFile函数将失败,并显示 ERROR_FILE_NOT_FOUND。如果该文件是只读文件,则该函数将失败,并显示 ERROR_ACCESS_DENIED。
以下列表列出了一些删除,删除或关闭文件的技巧:
- 要删除只读文件,首先必须删除只读属性。
- 要删除或重命名文件,您必须对文件具有删除权限,或者在父目录中具有删除子权限。
- 若要递归删除目录中的文件,请使用 SHFileOperation函数。
- 要删除一个空目录,请使用 RemoveDirectory函数。
- 要关闭打开的文件,请使用 CloseHandle函数。
我们来实际操作一下GetLastError函数,理解一下他的用法:
首先我们在桌面上创建一个名为hello.txt的文本文件,然后调用win32 API中GetLastError函数来进行操作(使用API删除文件会直接删掉,并不会放入回收站)
#include <windows.h>
int main() {
BOOL a;
const char file_path[] = "C:\\Users\\86132\\Desktop\\hello.txt";
a = DeleteFile(file_path);
printf("返回值=%X 扩展错误信息=%d",a, GetLastError());
return 0;
}
hello.txt文件被成功删除,程序返回 若是文件不存在,程序返回
::: tip 虽然返回值只有0或者1 但是系统扩展错误信息却有很多,大家可以自己手动尝试一下 ::: 这期的文章就到这里,虽然很基础,但学习却是一个逐渐积累的过程,三天打鱼两天晒网肯定是不行的,只要有一丝的收获,将这个收获X时间得到的就是技术与财富。