首页 > 系统相关 >Win32 编程 Windows API 使用(一)

Win32 编程 Windows API 使用(一)

时间:2024-01-21 11:57:41浏览次数:32  
标签:Windows 步骤 Win32 Window API 使用

1. Window API

通常,Win32 是指WindowsAPI,也指 Microsoft Windows 操作系统的 32 位环境,和 Win64  Windows 常见环境。早期的操作系统为16位(window1.0),Win98/XP之后出现32位和64位,Win32即也是32位和64位的统称。

所谓Win32 编程,即主要使用GUI 构图,编写一套程序。除了使用原生的Window API,还有MFC框架。在Window视窗底层绘图中,微软系统仍保留了GDI,GDI+ 绘图支持,但新式的系统,微软更推荐使用DirectX(Direct2D 和 Direct3D)

 

2. 简单窗口

假设有这样一种需求,你需要每周的班级的黑板报,大概流程思路是:

 (1)设计定模板(选出风格)-- (2)指导员审核通过 --- (3)开始构图素描 --- (4)上色和填充内容  -- (5)向大家展示

由于需要经常出黑板报,为了简化工作,你大致把这种风格做成了常用的几个模板,以后每次黑板报只需先敲定版式,然后填字和上色内容

有了以上的初步概念,再转入Window API, 微软在提供接口函数(C语言)时,也基本类似这种流程

备注: 先设计一种窗口类,给注册给系统。 这里的类并不是C++或JAVA中的类,它只是一种结构体,对于操作系统而言的称呼。当然,如果是常见的Button,Edit和弹框等,Window默认已经提供,这里并不需要设计和注册,直接可以使用。

到此,我们可以利用系统自带的窗口,创建一个简单的弹框窗口流程:

前提:先安装Visual Studio(案例中使用Visual Studio2022)

步骤1) 打开Visual Studio2022,选择创建新建项目

步骤2)选择Windows桌面向导(注意,不是控制台程序,而是桌面程序)

步骤3)给这个测试项目取个名字,这里选择默认的Project1

 

步骤4)在点击创建,并在应用程序类型下拉框中选择 :桌面应用程序。 另外,勾选空项目,避免在学习初期过多的杂项内容影响

步骤5)在“源文件”的地方,鼠标右键,选择‘添加’ ,选择‘新建项’

步骤6)选择C++ 文件,文件名称可以是 test.c ,也可以是默认的 test.cpp (为了方便其他所有项目,后续统一为test.c)

步骤7)生成源文件后,双击选择,并在编辑内容,填写C代码。

 


#include<Windows.h>

int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow)
{
	MessageBox(NULL, L"提示内容", L"提示的标题", 0);
}

 

代码解释:

1)windows.h 是一个最重要的包含文件,它囊括了若干其他 Windows 头文件,其中的某些头文件又包含另外的一些头文件。

 

2)int WINAPI wWinMain,与普通的 int main 一致, 是函数的主入口, 其中WINAPI 函数一种约定,是函数的修饰符。

另外值得一提的是, WinMain 有两个衍生版本的名字,分别对应两种编码。由于历史的积累,在编程过程中,可以发现很多类似的函数。对于新的操作系统和程序,官方也推荐统一使用UTF8编码,即建议以后只使用w开头或者w结尾的函数名

w 也就代表了宽字符,方便程序的国际化。 字符串开头需要使用L来标识,如L"hello world"

4个参数都是默认参数,所有程序都需要照写

 

3) MessageBox 是系统提供的类(准确说,是windows.h 库文件中已有定义包含),因此不需要额外设计,可直接使用

 

标签:Windows,步骤,Win32,Window,API,使用
From: https://www.cnblogs.com/nerocm/p/17977671

相关文章

  • fastapi集成google auth登录
    title:fastapi集成googleauth登录banner_img:https://cdn.studyinglover.com/pic/2024/01/cabc8955c76fb9f396061cbbdd5aad58.pngindex_img:https://cdn.studyinglover.com/pic/2024/01/ae35717c51d89eb88ab6852b4b00ef63.pngdate:2024-1-2110:26:00tags:-googleauth......
  • 【办公自动化】Python执行Windows命令
    ##第一部分:引言在Python中,我们可以使用`os`模块来执行Windows命令。`os`模块提供了许多与操作系统交互的函数,包括执行系统命令。以下是一个简单的示例,展示了如何使用Python执行Windows命令。##第二部分:导入os模块首先,我们需要导入`os`模块。在Python脚本的开头添加以下代码:`......
  • 【办公自动化】Python执行Windows命令
    第一部分:引言在Python中,我们可以使用os模块来执行Windows命令。os模块提供了许多与操作系统交互的函数,包括执行系统命令。以下是一个简单的示例,展示了如何使用Python执行Windows命令。第二部分:导入os模块首先,我们需要导入os模块。在Python脚本的开头添加以下代码:importos第......
  • Apipost智能Mock教程
    在接口开发过程中,Mock功能可以帮助开发者快速测试和验证接口的正确性和稳定性,以便快速迭代和修复问题。Apipost推出智能Mock功能,可以在智能期望中填写一些触发条件,开启后,Apipost会根据已设置的触发条件,自动匹配旗下的参数判断规则,若满足条件,则会启用预设的期望。这篇文章会模拟用户......
  • Apipost智能Mock教程
    在接口开发过程中,Mock功能可以帮助开发者快速测试和验证接口的正确性和稳定性,以便快速迭代和修复问题。Apipost推出智能Mock功能,可以在智能期望中填写一些触发条件,开启后,Apipost会根据已设置的触发条件,自动匹配旗下的参数判断规则,若满足条件,则会启用预设的期望。这篇文章会模拟用......
  • fastapi项目 09-阿里云服务部署fastapi项目
    安装docker按照官方文档的流程来。1.卸载旧版本yumremovedocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\......
  • 查询法定工作日的API接口
     在现代社会中,时间的规划和安排对于个人和企业来说非常重要。在我们处理时间上的事务时,我们需要知道某一天是否是国家法定节假日或者法定工作日。因此,开发一个能够查询特定日期的法定工作日的API接口就变得非常有必要了。一、功能说明该API接口的主要功能是根据用户输入的日......
  • WIN32 动态 UAC 提权
    UAC(UserAccountControl)是Windows平台的用户权限控制。它可以让程序使用管理员权限执行某些操作。静态UAC提权静态UAC提权让程序一直运行在管理员权限下,只要在项目设置里把"UACExecutionLevel"设置为"requireAdministrator"。这样生成的exe文件图标会自动加上......
  • Windows 10 version 22H2 (updated Jan 2024) 中文版、英文版下载
    Windows10version22H2(updatedJan2024)中文版、英文版下载Windows1022H2企业版arm64x64作者主页:sysin.orgWindows10更新历史记录Windows10,version22H2,alleditions发布日期:2022/10/18版本:Windows10,版本22H2Windows10版本信息2022/10/19从W......
  • Windows 11 version 23H2 中文版、英文版 (x64、ARM64) 下载 (updated Jan 2024)
    Windows11version23H2中文版、英文版(x64、ARM64)下载(updatedJan2024)Windows11,version23H2,2024年1月更新作者主页:sysin.orgWindows11目前版本所有的日期都按照ISO8601格式列出:YYYY-MM-DD)服务频道版本服务选项上市日期最后修订日期最新版本......