Windows基础学习第二天(绝对详细)
来源:http://www.tudoupe.com时间:2022-05-03
这是唯一的博客, 你可以记录你的学习经验。
2022 /4/20 21:32
起初,我们分六个阶段建造窗户。
首先头文件#include <Winndows,h>这个不多说
我会解释主和WinMain的区别是什么:
WinMain 是窗口程序输入函数 。
主控制台门户网站功能
WINAPI: 功能呼叫协议(商定四项论据)
因此,左对右,右对左,右对左,右对左。
1>>函数的入栈方式
2>>由谁来平衡堆栈
栈的特点:先进后出
WinaPI同意往左向右旅行。
nCmdShow->lpCmdLine->hPreInstance->hInstance
WINAPI 精华精华
_cdcel:入口也位于右边。
WNDCLASS wc;
在C++中,这就是类别。让我们看看定义:
#define DECLARE_HANDLE(name)
struct name##__{
int unused;
};
typedef struct name##__ *HINSTANCE
等同于:
#define DECLARE_HANDLE(HINSTANCE)
struct HINSTANCE__{
int unused;
};
typedef struct HINSTANCE __ *HINSTANCE
这是结构的指针
hinstance: 当前应用程序示例( 也称为当前程序) 处理
h 原版:当前应用程序的先前示例处理方式,该应用程序已被折旧,不再使用。
记住,这毫无意义
LPSTR: typedef _Null_terminated_ CHAR *NPSTR, *LPSTR, *PSTR;
就是CHAR*
对不起,但我不明白 你在说什么。
IpCmdLine: 命令行参数, 例如 。 C: desktopting. txt 笔记纸
这是命令线参数 对不起 对不起 但我很抱歉 txt
nCmdShow: 窗口的显示模式: 最大化、 最小化、 正常..
用 MessageBox 弹出信件建议框 。
MessageBoxW(
_In_opt_ HWND hWnd,
_In_opt_ LPCWSTR lpText,
_In_opt_ LPCWSTR lpCaption,
_In_ UINT uType);
#define DECLARE_HANDLE(name)
struct name##__{
int unused;
};
typedef struct name##__ *name
HWND: 窗口手柄类型( 也称为窗口手柄 ID (窗口号) )
目前,使用Unicode字符集。
L表示是宽字符集
MessagBox基于对四个参数的直截了当的理解(4个参数)。
1>>窗口编号
2>>窗口要打印的语句
3>>窗口左上角打印的语句
4>>按钮或者图标或者按钮+图标
)
API代表应用程序编程接口。
(Application Programma Interface)
Windows 中的 API 函数
SDK(软件开发工具包)到底是什么?
(Software Development Kit)
API 函数、帮助手册和复制工具都包括在内。
什么是窗口:
等等.. 包括标题栏、菜单栏、系统菜单、缩小最大框架..
建造窗口需要多少步骤:
1>>设计窗口类
WNDCLASS wc;
typedef struct tagWNDCLASSW {
窗口类样式; UINT 样式
窗口处理功能 WNDPROC lpfnWndProc
cbClsExtra 内
int         cbWndExtra;
HINSTANCE   hInstance;
HICON       hIcon;
HCURSOR     hCursor;
HBRUSH      hbrBackground;
LPCWSTR     lpszMenuName;
LPCWSTR     lpszClassName;
} WNDCLASSW, *PWNDCLASSW, NEAR *NPWNDCLASSW, FAR *LPWNDCLASSW;
#ifdef UNICODE
typedef WNDCLASSW WNDCLASS;
工程师 Unicode 编码机制 (W) (W) (W) (W) (W) (W) (W) (W) (W) (W) (W) (W) (W) (W) (W) (W) (W) (W) (W) (W)
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wPrarm, LPARAM lParam)
LRESUT: 结果是过程结果, 即返回是一个四字节整数。
简易理解4个参数:
1>>窗口句柄
2>>消息编号,用一个无符号整型来存储 unsigned int
3>>WPARAM 窗口的附加消息 unsigned int
4>>LPARAM 窗口的附加消息(2)  unsigned long
操作系统默认信件的邮件处理功能 :
return DefWindowProc(hwnd, uMsg, wPrarm, lParam);
2>>注册窗口类
3>>创建窗口
4>>更新窗口
5>>消息循环
typedef struct tagMSG {
HWND        hwnd;
UINT 信件; 发送信件的窗口控件
wParam; 消息号、 鼠鼠点击消息、 键盘发送
LPARAM lParam; 额外数据
DWORD 时间; 从信件队列中删除信件的时间 。
POINT       pt;
#ifdef _MAC
DWORD       lPrivate;
#endif
} MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;
鼠标的坐标:
typedef struct tagPOINT
{
LONG  x;
LONG  y;
} POINT, *PPOINT, NEAR *NPPOINT, FAR *LPPOINT;
WinMain.cpp:
Resource.h
为了让你更容易理解,我还要解释一下:
第二步2>>注册窗口类
3>>创建窗口
4>>创建完窗口后显示窗口,并判断是否创建成功
5>>更新窗口
6>>消息循环
窗口处理函数
Resource,h:
我怎样才能改变一个已建文件的图标?
请注意这两行代码
#define IDI_Logo 1
#define IDC_1                           102
如果两行代码都是图标资源,则第一行中的图标资源被用于汇编。
编辑后, 直接在调试文件( maybe bug) 中重新命名前端应用程序 。
就可以了
下一篇:联想如何恢复系统
相关新闻
- 2022-08-04 WPF的由来
- 2022-08-04 Win11勒索软件防护怎么打开?Win11安
- 2022-08-04 Windows系统jdk的配置
- 2022-08-04 Windows10 OneNote怎么重新登录?如何重
- 2022-08-04 超好用的 Windows 效率工具推荐
- 2022-08-04 Windows如何在CMD或PowerShell中配置代理
- 2022-08-04 powershell和cmd对比
- 2022-08-04 【QT】Windows下QT下载安装
- 2022-08-04 windows下 C++ 实现类属性的get和set方
- 2022-08-04 Win11快速助手在哪里?Win11打开快速
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
