逆向分析_win_api基础(3)

本文主要介绍如何使用Win API在Windows上创建窗口。首先,我们讨论了所需的开发环境,推荐了具备代码提示和补全功能的工具,并提到了MinGW的安装。接着,详细阐述了创建窗口的过程,包括窗口类、窗体结构、消息处理函数以及注册窗口类和创建窗口的具体步骤。此外,还解析了Windows消息处理机制和句柄的概念,帮助理解窗口中事件的处理流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

win_api基础(3) - 创建窗口
(一) 环境

CLion + Cygwin
CLion : 代码编辑,提供代码提示和代码补全等功能,方便api学习,不一定要看win api 文档,Ctrl + p快捷键提示参数,右键可以跳到函数/常量的定义。
Cygwin : 简单地认为是可以把Linux软件包移植到windows上。(Mingw类似)
安装完Cygwin后需要安装编译相关的软件:gcc g++ make cmake gdb,这边使用清华源加快下载:https://mirrors.tuna.tsinghua.edu.cn/cygwin/

(二) 创建自己的窗口
#include <windows.h>
#include <tchar.h>

const TCHAR CLSNAME[] = TEXT("helloworldWClass");
LRESULT CALLBACK winproc(HWND hwnd, UINT wm, WPARAM wp, LPARAM lp);

int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, PTSTR cmdline,                    int cmdshow)
{
   
    WNDCLASSEX wc = {
    };    // fill in the window class structure
    MSG msg;                //
    HWND hwnd;
    wc.cbSize        = sizeof (wc);    // size, in bytes
    wc.style         = 0;              //The window class styles. This is 0 for now
    wc.lpfnWndProc   = winproc;        // It stores the address of the window procedure. The window procedure is a function that handles events for all windows that are instances of this window class.
    wc.cbClsExtra    = 0;           //extra bytes to allocate for the window class
    wc.cbWndExtra    = 0;           // extra by
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值