day01 windows编程入门

article/2025/10/29 19:49:38

文章目录

  • window编程基本概念
    • Windows常见的数据类型
    • 字符串的处理
  • 第一个windows程序的编写

window编程基本概念

Windows编程的本质就是使用好操作系统,想要用好操作系统必不可少的秘籍----MSDN。

Windows编程主要分为两种:
1、控制台编程(CUI)
2、图形界面编程(GUI)

Windows编程的基本要素
#include < windows.h>
在进行windows编程的时候需要包含一个新的万能头文件。
Windows.h 它是一个综合性头文件,它里面包含了许多其它都文件。

Windows常见的数据类型

UINT 无符号32位整型
DWORD 32位整数
PDWORD 32位整数类型指针。
BOOL 布尔类型
SHORT 带符号16位整数。
LRSULT 32位函数返回值
WPARAM 32位的消息参数。
LPARAM 32位的消息参数。

HANDLE 是windows编程中一个特别重要的概念,在计算机中翻译为句柄。用于标示操作系统中的某个对象。
HANDLE 通用句柄
HWND 窗口句柄
HINSTANCE 实例句柄


字符串的处理

windows包含这三种字符串类型,他们分别是:
CHAR 字符型,相当于char
WCHAR 宽字符型,相当于wchar_t
TCHAR 是一种条件编译的类型,根据条件可以代表wchar_t或char。

还有这些类型的指针类型:
PWCHAR WCHAR的指针类型
PTCHAR TCHAR的指针类型
PCWCHAR const WCHAR的指针类型

我们没有必要完全记住这些参数,我们只需要知道他们的普通用法就可以了。

三种字符型的比较:

CHAR charc[] = "123456";		//CHAR类型可以直接写出来
WCHAR charw[] = L"123456";		//WCHAR类型需要在字符串前面加上L标记其为宽字符类型
TCHAR chart[] = _T("123456");	//TCHAR类型需要以_T类型来表示
  • 字符串长度的比较
printf("%d\n",sizeof( charc));
printf("%d\n",sizeof( charw));
printf("%d\n",sizeof( chart));

TCHAR类型会根据你设置的字符串为标准,来适应成不同的类型。

unicode字符集为标准: TCHAR的字长 = WCHAR的字长
在这里插入图片描述
多字节字符集为标准: TCAHR的字长 = CHAR的字长
在这里插入图片描述

  • 字符串的打印
printf("%s\n", charc);
printf("%ws %ls\n", charw, charw);
// unicode字符集:printf("%ws\n", chart);
// 多字节字符集: printf("%s\n",chart);

CHAR类型直接用%s 打印
WCHAR类型用 %ls 或者%ws打印
TCHAR类型用%s或者%ws打印,这取决于你的字符集设置


字符串的长度

printf("%zd\n", strlen(charc));
printf("%zd\n", wcslen(charw));
printf("%zd\n", _tcslen(chart));

他们仅仅只有长度函数调用的不同:
在这里插入图片描述


第一个windows程序的编写

在windows中,我们有一个类似于C/C++的入口函数,如main函数。
在windows中,这个入口是这样的:

//类似于main函数
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR     lpCmdLine,int       nShowCmd
)
{//代码区return 0;
}

你可以会觉得,这是什么鬼,怎么这么多参数,我们以前写的C++的mina最多也就两个参数啊,但是,你必须接受这个现实,windows编程有非常多的复杂概念,和非常复杂的声明等等。
例如:这前两个参数:HINSTANCE 这他喵的什么鬼??? 我们以前见过double,int,long,我们都可以很清晰的知道他们是什么意思,但是这玩意可读性这么差,而且还都是大写,怎么记得住啊。

但是!!
我们千万不要记住这些东西,浪费这些时间记住没用的参数是没有用的,我们完全不需要记,我们只需要记住特定的函数名字就可以,然后我们(在VS环境下)按F1 就可以找到他的官方文档,然后直接把文档的函数原型复制即可:

步骤:

  1. 写一个WinMain函数名字:
WinMain
  1. 选中WinMain,按 F1 :
    在这里插入图片描述
  2. 我们就可以直接把这段函数及原型抄上。。。

然后你在那个文档里,还可以找到很多关于此函数的信息:
例如他的每个参数的含义:

  • 参数一: HINSTANCE hInstance:当前应用程序实例的句柄
  • 参数二: HINSTANCE hPreInstance: 上一个程序实例的句柄(基本弃用此参数了)
  • 参数三: LPSTR lpCmdLine: 应用程序的命令行参数。
  • 参数四: int nShowCmd: 控制窗口的显示方式

我们千万不要死记硬背,要灵活使用F1查看帮助文档

那么我们已经写好了入口函数,应该如何编写一个最简单的windows应用程序呢?
首先我们先把此项目的属性改为 窗口 类型。
在这里插入图片描述
因为我们编写的已经不是黑窗口的控制台程序了,而是图形界面编程。。

我们使用MessageBoxW在产生一个最简单的弹窗:

#include <Windows.h>int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR     lpCmdLine,int       nShowCmd
)
{MessageBoxW(NULL, L"提示", L"提示", MB_OK);return 0;
}

注意:

MessageBoxW:

  • 参数一:创建此窗口的所有者的句柄,可以为NULL,表示没有所有者。
  • 参数二:你要输入的内容
  • 参数三:窗口标题
  • 参数四:对话框的内容和行为: MB_OK表示你可以点击确定,这还有很多内容,可以直接查看它的官方文档:
    MessageBox官方文档

MessageBox又可以分为 MessageBox ,MessageBoxA , MessageBoxW等多种不同类型,我们统一使用MeseageBoxW 类型,因为以宽字符调用,我们输入字符串时也能够适应宽字符,兼容性比较好。。

程序运行结果:
**加粗样式**

我们已经完成了第一个窗口的实例,接下来我们将学习如何编写一个正规的第一个窗口。


http://chatgpt.dhexx.cn/article/O3cRiwIk.shtml

相关文章

10行代码带你入门Windows编程

Windows编程——Hello World 开发工具效果展示源代码主函数主函数参数HINSTANCEhInstanccehPreInstanceLPSTRlpCmdLinenCmdShowMessageBox 小知识 开发工具 Visual Studio 2013 效果展示 源代码 #include <Windows.h> //头文件//主函数 int WINAPI WinMain(HINSTANC…

使用VS Code进行Qt开发

使用VS Code进行Qt开发 文章目录 使用VS Code进行Qt开发测试环境步骤1. 将Qt的bin目录添加到环境变量2. 安装VS Code扩展3. 使用Qt Creator创建CMake项目4. 在VS Code中打开项目5. 构建并运行项目7. 调试项目 一些小问题 Qt Creator界面不美观&#xff0c;而VS Code更漂亮一些。…

Qt开发CAN通信的环境配置

Qt开发CAN通信的环境配置 目录 1 开发环境 1 1.1 编程环境 1 1.2 工程设置 1 1.3 调试窗口设置 2 1.4 依赖库 2 1.5 源代码的适配 3 2 运行及硬件环境 3 2.1 CAN设备 3 2.4 运行支持文件 3 3 故障解决 4 3.1 转到槽函数失败 4 1 开发环境 1.1 编程环境 工程采用Windows系统下的…

Qt开发必备技术栈学习路线和资料

简介 本文为&#xff1a;C QT 学习路线大纲资料&#xff08;文章底部&#xff09; Qt 可以做什么&#xff1f; Qt 虽然经常被当做一个 GUI 库&#xff0c;用来开发图形界面应用程序&#xff0c;但这并不是 Qt 的全部&#xff1b;Qt 除了可以绘制漂亮的界面&#xff08;包括控…

WIndows下搭建Qt开发环境 -- Qt 、Qt Creater 安装、配置

[本文发布于https://blog.csdn.net/Stack_/article/details/122491885&#xff0c;未经许可不得转载&#xff0c;转载须注明出处] 一、需要下载安装哪些文件 1Qt SDK&#xff0c;即Qt官方提供的API2编辑器、UI设计器 – Qt Creater3编译器 其中Qt Creater是可以被Visual Studi…

Qt开发MQTT(一) 之Qt官方Qt MQTT

概述 Qt开发MQTT程序有两种方式&#xff0c;一个是Qt官方提供的基于MQTT的封装&#xff0c;一个是第三方&#xff08;EMQ&#xff09;开发的用于Qt调用MQTT的接口&#xff0c;二者使用方法大同小异&#xff0c;并且均提供了源码。那么&#xff0c;这里先来介绍第一种&#xff…

Qt开发之Rust篇(一)

本文运行环境&#xff1a; 操作系统&#xff1a;Windows 11 专业版Visual Studio版本&#xff1a;Visual Studio 2022 PreviewQt版本&#xff1a;Qt 5.14.2 1、安装C编译器 除了 Rust 自己的构建工具之外&#xff0c;您还需要设置 C 编译器、Qt 和 CMake。 在 Windows 上&am…

【Qt】ubuntu下Qt开发环境的搭建

下载对应版本的Qt开发环境 Qt官网下载地址&#xff1a;https://download.qt.io 国内镜像下载地址&#xff1a;https://mirrors.cloud.tencent.com/qt/ 。建议用镜像下载速度快。集成安装包在 official_releases/qt 目录下&#xff0c;新地址&#xff1a;https://download.q…

QT开发环境简介、安装以及搭建VS2019环境

文章目录 1、QT简介2、 QT的安装1、下载QT安装包2、安装QT1、安装qt creator2、设置qt账号3、选择安装路径4、选择组件5、同意许可协议&#xff0c;下一步6、菜单快捷方式7、点击安装&#xff0c;等待安装完成8、安装完成 3、qt creator创建工程1、打开软件2、新建项目3、选择Q…

Qt开发框架介绍

Qt: 基于C++跨平台的软件开发框架 Languages: C++, Python, Qt QML, Javascript Qt支持的平台有:Windows, Linux, macOS Qt Quick技术: 描述性UI设计语言(QML)作为前端, C++作为后端. 适用于基于触摸操作的界面的开发, 轻松实现优美、现代的界面. 默认使用GPU进行图形渲染.…

用QT开发安卓应用

QT官网参考链接 https://doc.qt.io/qt-5/android.html 这里的指示是QT5的&#xff0c;和QT6有点不同。 安装QT 下载地址QT6&#xff1a;http://download.qt.io/archive/qt/6.0/6.0.0/single/ 安装后&#xff0c;会多出一个Qt文件夹&#xff0c;里边包含了Qt Creator.app和…

【QT基础入门】1、QT开发环境搭建

文章目录 一、学习所需要的软件 二、安装 VS2012 三、win10 下安装 QT 一、学习所需要的软件 Visual Studio 2012Qt SDK 4.7.4Qt Creator 2.4.1 Visutal Studio 2012 用于学习 Windows 上 GUI 程序设计的原理体会使用 C/C 编写 GUI 窗口应用程序展现 Qt 对于 Windows 窗口开…

UOS搭建QT开发环境

需要注意的是&#xff0c;UOS与其他ubantu系统不同&#xff0c;UOS本身是基于QT开发的&#xff0c;所以当安装的QT版本高于UOS开发者使用的版本时&#xff0c;在使用过程中会出现各种问题。 以下以 UOS家庭版&#xff08;系统环境搭建参考本人上一篇博客 搭建国产化统信UOS操作…

VS2019 Qt开发环境搭建与配置

目录 更新说明 学习Qt、安装Qt环境的困扰 问题1&#xff1a;该选什么操作系统&#xff0c;该用MinGW还是msvc ? 问题2&#xff1a;如果用visual studio该安装哪个qt版本&#xff1f; 问题3&#xff1a;Qt开发商业软件需要付费授权吗&#xff1f; Visual studio Qt 安装步骤…

安装QT开发环境

UOS操作系统 1. 开启开发者权限。 开启开发者权限后可以使用root权限。 2. 先获取可更新的软件执行 sudo apt-get update 3. 安装所有可更新的软件 sudo apt-get dist-upgrade 4. 安装所有依赖的环境包 一下命令为了方便可以写入脚本中执行脚本运行更加方便。一下除了安…

Qt开发Android环境配置

目录 0.前提 1.安装JDK 2.Android SDK下载 3. 安装模拟器 4.Qt中进行配置 5.新建android项目 6.结束 0.前提 安装Qt时勾选Android相关套件&#xff0c;确保Qt的安装组件已被安装。 1.安装JDK Java Downloads | Oracle 安装java8即可&#xff0c;需要登陆&#xff0c;没…

08_树莓派安装Qt开发环境

目的&#xff1a; 通过本章节&#xff0c;在树莓派上安装Qt开发环境。 目录 1、Qt简介 2、安装Qt开发环境 2.1、安装指令 2.2、示例demo 2.2.1、打开Qt Creator工具 2.2.2、新建工程 2.2.3、添加hello标签 2.2.4、编译运行工程代码 2.2.5、运行结果 1、Qt简介 Qt 是一个…

Qt 开发环境搭建

一、Qt下载与安装 1、qt下载网站https://download.qt.io/ 其中各个目录含义如下&#xff1a; 目录说明snapshots/预览版&#xff0c;最新开发测试的Qt库和开发工具online/在线安装源official_releases/正式发布版&#xff0c;是与开发版相对应的稳定版Qt库和开发工具&#x…

VS中使用Qt开发项目

文章目录 请添加图片描述 前言一、Qt和VS版本的选择和安装&#xff08;一&#xff09;Qt版本的选择和安装&#xff08;二&#xff09;VS版本的选择及安装 二、VS与Qt的连接&#xff08;一&#xff09;安装插件&#xff08;二&#xff09;Qt路径配置&#xff08;三&#xff09;测…

Qt 开发使用VSCode

配置环境变量 从Qt安装目录中找到对应的工具路径配置环境变量 配置cmake工具环境变量 D:\Qt\Tools\CMake_64\bin (cmake.exe 跨平台的编译配置工具,可以用简单的语句来描述所有平台的编译过程) 配置gcc编译器环境变量 D:\Qt\Tools\mingw810_64\bin (鼎鼎大名的gcc/g&#xff…