三:Windows API的功能分类

Windows API 所能实现的功能包括很多方面,在进行应用程序的开发时,开发人员可能会使用到文件、进程、内存、权限、系统信息等系统的基本服务和系统管理类的 API,可能会用到图形用户界面、控件等函数和对象,可能需要在界面上绘制图像处理多媒体信息等,还包括进行网络通信开发等。

系统基本服务

系统基本服务是 Windows API 最基本的内容,是最常使用到的程序接口。系统基本服务API 包括以下几个方面。

1.文件系统

对文件的基本操作包括文件的创建、打开、读写、关闭、删除,文件属性的设置与获取,目录操作,以及磁盘分卷的操作,还包括镜像文件、加密文件系统等。

2.内存管理

主要是内在的分配、共享、释放等内容,包括虚拟内存管理、分页机制、堆管理等。

3.进程、线程和模块

包括进程主程序( exe)、模块、动态链接库(dll)的编写;线程的基本概念,线程创建、遍历、同步等操作;进程与权限;线程与纤程等内容。

4.设备 I/O、驱动程序控制

包括设备对象等基本概念。加载与卸载驱动程序,控制驱动程序,与驱动程序通信等。

5.调试与错误处理

包括如何开发调试器,程序运行错误的处理,日志的记录、Windows 可执行文件的结构等。

6.Windows 系统信息

包括注册表的操作,如打开注册表,读取、写入键值,创建、删除键;还包括系统基本信息的获取和设置,如系统目录、系统版本、计算机名等。

7.进程间通信

包括使用共享文件进行进程间通信的方法, 使用消息进行进程间通信的方法,使用邮槽、管道等进行进程间通信的方法,使用网络共享进行进程间通信的方法。

8.定时器与消息机制

消息机制是 Windows 系统中很重要的一种机制。几乎所有的 Windows 应用程序都在与消息打交道,而 Windows 的消息机制又是依赖于定时器的。所以了解 Windows 消息机制是学习Windows 应用程序开发的重要内容。

9.其他

Windows 的系统基本服务还包括性能监视、电源管理、索引与数据存储等。

系统管理

系统管理是 Windows 系统中很重要的内容。 Windows 系统提供了以下方面的 API 供应用
程序开发人员使用,包括:管理控制台接口、程序安装、系统恢复、任务调度、Windows 运
程管理。

用户界面

用户界面开发是 Windows 应用程序开发的重要内容。Windows 用户界面主要包括两个部分, Windows Shell 和 Windows 图形用户界面。Windows 图形用户界面包括窗口对象的相关内容,界面资源,控件、用户数据交换(粘贴板等)和用户输入的处理。

1.窗口化

包括一些基本数据概念和对象:窗口类、消息对列、窗口过程(消息处理函数)、窗口属性等。主要包括的 API 有窗口类注册的函数、窗口建立与关闭函数、窗口属性修改函数等。

2.资源

资源是 Windows 应用程序中很重要的一项内容,在可执行文件中,专门有用于存储资源的节。这里所说的资源是界面资源,包括图标、菜单、字符串、版本信息、对话框、动态光标、插入号(Carets)等。资源的处理涉及众多 API 函数。

3.用户输入处理

包括对话框、键盘加速器(快捷键)、键盘输入、鼠标输入、原始数据输入等。这些概念是程序通过用户界面与用户进行交互的基本概念。

4.数据交换

包括 Atom 表(包括了若干字符串和标识符)、粘贴板、数据复制、动态数据交接等基本概念,是用户和应用程序通过用户界面进行数据交换的主要载体。

5.Windows 图形界面通用控件

Windows 系统提供了不少于 30 种的控件供应用程序使用,其中最常用的几种包括 Edit控件(文本框)、Button 控件(按钮)、ListView 控件(列表)、ToolTip 控件(提示框)、ComboBox 控件(下拉选择框)、Tree-View 控件(树)、Rich-Edit 控件(多功能文本框)、Tab 控件(分页)、Process 控件(进度条)等。

6.Windows Shell

Windows 桌面浏览器(explorer.exe)的功能强大,Windows Shell 应用程序可以利用WindowsShell 桌面的程序接口达到管理系统、定制图标和默认程序、扩展桌面功能等目的。
下面的一个程序使用了与图形用户界面相关的一些函数。程序中,首先注册了窗口类,然后创建了一个窗口,创建窗口时指定的窗口的属性和窗口消息的处理函数。函数消息的处理函数大多调用系统默认函数来处理。

#include<Windows.h>
#include<stdio.h>

HINSTANCE hinst;
LRESULT CALLBACK MainWndProc(HWND, UINT, WPARAM, LPARAM);

/*显示一个窗口*/
int WinMain(HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
    int nCmdShow){

    WNDCLASSEX wcx;  //窗口类
    HWND hwnd;//窗口句柄
    MSG msg;//消息
    BOOL fGotMessage;//是否成功获取消息
    hinst = hInstance;//应用程序实例句柄

    //设置窗口类的数据结构
    wcx.cbSize = sizeof(wcx);//结构体大小
    wcx.style = CS_HREDRAW | CS_VREDRAW;//样式:大小改变时重绘界面
    wcx.lpfnWndProc = MainWndProc;//窗口消息处理函数
    wcx.cbClsExtra = 0;//不使用类内存
    wcx.cbWndExtra = 0;//不使用窗口内存
    wcx.hInstance = hInstance;//所属的应用程序实例句柄
    wcx.hIcon = LoadIcon(NULL, IDI_APPLICATION);//图标:默认
    wcx.hCursor = LoadCursor(NULL, IDC_ARROW);//光标:默认
    wcx.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);//背景:白色
    wcx.lpszMenuName = NULL;//菜单:不使用
    wcx.lpszClassName = "这是一个窗口";
    wcx.hIconSm = (HICON)LoadImage(hInstance, MAKEINTRESOURCE(5),
        IMAGE_ICON, GetSystemMetrics(SM_CXSMICON),
        GetSystemMetrics(SM_CXSMICON),
        LR_DEFAULTCOLOR);

    //注册窗口类
    if (!RegisterClassEx(&wcx)){
        return 1;
    }

    //创建窗口
    hwnd = CreateWindow(
        "MainWClass",//窗口名
        "CH 2-3",//窗口标题
        WS_OVERLAPPEDWINDOW,//窗口样式
        CW_USEDEFAULT,//水平位置X
        CW_USEDEFAULT,//垂直位置Y
        CW_USEDEFAULT,//宽度
        CW_USEDEFAULT,//高度
        (HWND)NULL,//父窗口:无
        (HMENU)NULL,//菜单:使用窗口类菜单
        hInstance,//应用程序实例句柄
        (LPVOID)NULL//窗口创建时数据:无
        );

    if (!hwnd){
        return 1;
    }

    //显示窗口
    ShowWindow(hwnd, nCmdShow);
    UpdateWindow(hwnd);

    //消息循环
    while (fGotMessage = GetMessage(&msg, (HWND)NULL, 0, 0) != 0
        && fGotMessage != -1){
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return msg.wParam;
}

LRESULT CALLBACK MainWndProc(HWND hwnd,
    UINT uMsg,
    WPARAM wParam,
    LPARAM lParam){
    switch (uMsg)
    {
    case WM_DESTROY:
        ExitThread(0);
        return 0;
    default:
        return DefWindowProc(hwnd, uMsg, wParam, lParam);
    }
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Windows API函数参考手册是微软Windows操作系统的编程文档,它包含了大量的API函数和数据类型的介绍、参数说明、用法示例等内容,对于Windows系统的程序开发非常重要。CSDN作为国内最大的IT技术社区,提供了非常便利的Windows API函数参考手册的下载服务。 在CSDN上下载Windows API函数参考手册,可以方便地获取最新版本的手册内容,而且下载速度也非常快,不需要进行任何费用或者授权的申请。下载后可以直接查看手册内容,也可以将手册内容保存到本地进行离线使用。 对于Windows系统的程序开发者来说,经常需要查询API函数的用法和参数,然而API函数参考手册内容庞杂繁琐,查找起来非常费时费力。因此,CSDN提供的Windows API函数参考手册下载服务非常实用,可以帮助开发者更快地查找API函数相关文档,提高开发效率。 ### 回答2: WindowsAPI函数参考手册是一份非常重要的文档,对于进行Windows平台开发的程序员来说,熟练掌握这份手册是必不可少的。如果你要开发Windows应用程序,你需要用到很多WindowsAPI函数,这些函数包括各种系统调用和API函数,用于访问Windows系统的各种资源和服务。 在WindowsAPI函数参考手册中,我们可以查找到各种函数的参数、返回值、语法、示例代码等详细信息。这些信息对于我们理解函数的用途和调用方式非常有帮助,也有利于我们快速地解决问题。 CSDN是一个技术社区,其中包含了大量的技术文章、教程和工具。在这个平台上,我们可以找到很多有关WindowsAPI函数参考手册的开发资源,其中包括详细的介绍和教程,以及一些实用的工具和示例代码。通过在CSDN上下载WindowsAPI函数参考手册,我们可以更方便地进行Windows开发,提高程序开发的效率和质量。 总之,WindowsAPI函数参考手册是一份非常重要的文档,对于进行Windows开发的程序员来说,熟悉掌握这份手册是非常必要的。通过在CSDN上下载这份手册,我们可以更好地学习和使用WindowsAPI函数,从而更好地开发高质量的Windows应用程序。 ### 回答3: Windows API 函数参考手册是 Windows 操作系统开发过程中必不可少的资源,它包含了 Windows API 函数的详细说明和用法。 CSDN 是一个开发者社区,它提供了丰富的开发资源,其中就包括 Windows API 函数参考手册的下载。 下载 Windows API 函数参考手册需要先访问 CSDN 的网站,然后搜索“Windows API”关键词即可找到相关的下载资源。可靠的下载来源应该是官方网站或已经得到验证的第方网站,这些来源可以保证下载的文件是不含病毒的,而且可以确保文件的完整性。 下载完成后,我们可以使用浏览器或者其他支持 PDF 文件格式的软件打开手册。手册分类详细,方便查找、阅读和使用。同时,手册也支持检索功能,可以帮助我们更快地找到所需的 API 函数信息。 总体而言,Windows API 函数参考手册是 Windows 操作系统开发过程中必不可少的资源之一。而 CSDN 作为一个开发者社区,提供了 Windows API 函数参考手册下载的服务,可以帮助开发者更快、更方便地获取相关资源,进一步提高开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值