Windows消息机制

int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,     //当前程序的实例句柄,是外部传递进来的,这个参数就代表当前程序进程                     _In_opt_ HINSTANCE hPrevInstance,             //上一个,启动我的进程是谁                     _In_ LP
摘要由CSDN通过智能技术生成

int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,     //当前程序的实例句柄,是外部传递进来的,这个参数就代表当前程序进程
                     _In_opt_ HINSTANCE hPrevInstance,             //上一个,启动我的进程是谁
                     _In_ LPTSTR    lpCmdLine,      //进程和外部进行通信
                     _In_ int       nCmdShow)                                   //窗口是如何显示的,是WinMain里特有的


1.HISTANCE:可以像操作HANDEL一样来操作HISTANCE,HISTANCE在R0层也是一个内核对象,代表的是一个进程。

2.为什么一个程序自己的进程句柄需要由外部传递进来了。。。。。。因为程序自己是不能把自己创建成进程的,进程是由操作系统去创建的,操作系统创建的进程是在R0层,而程序运行的是在R3层,所以进程的ID是需要由外部来进行传递的。


3.注意:WinMain和Main函数的区别:WinMain是由Windows提供的。而Main函数是C语言的语法,如果想在main函数中使用Windows的函数特性,可以在Main函数里面使用一个GetIstance()来进行交互。         Main函数中就没有HISTANCE吗?,在C语言诞生的年代,还没有Windows系统,更加没有HINSTANCE这个Windows提供的进程句柄了。但是,这些东西在R0层里没有区别,所有的程序,都是操作系统来生成进程的。反正就是在Windows下面编程使用WinMain()就对了。。。。。。。。。。。~~!!!!!

注册窗口

ATOM MyRegisterClass(HINSTANCE hInstance)
{
WNDCLASSEX wcex;


wcex.cbSize = sizeof(WNDCLASSEX);//碰到cbSize必须要填充,不填充就会调用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Windows消息机制是指在Windows操作系统中,用于实现应用程序之间的通信和事件处理的机制。每个消息都由一个消息标识符和一些相关的参数组成。当系统中发生某个事件时,Windows会将这个事件转化为一个消息,并将其放入消息队列中。应用程序通过接收消息并将其传递给适当的窗口过程来处理这些消息。 在Windows消息机制中,每个线程都有自己的消息队列。GUI线程通常拥有一个消息循环,负责接收和处理消息消息循环会不断从消息队列中获取消息,并将其翻译和分发给对应的窗口过程进行处理。 除了通过消息队列派发消息到窗口过程外,有些消息也可以直接发送到窗口过程进行处理,绕过消息队列和线程消息队列。例如,当用户激活一个新的应用程序窗口时,系统会直接发送一系列消息到窗口,包括WM_ACTIVATE、WM_SETFOCUS和WM_SETCURSOR等消息,用于通知窗口被激活、键盘输入被定向到窗口以及鼠标光标移到窗口的边界内。 因此,Windows消息机制是通过将事件转化为消息并通过消息队列进行传递,以实现应用程序之间的通信和事件处理的机制。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Windows消息机制](https://blog.csdn.net/King_weng/article/details/100072633)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值