![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
windows c++
cctdbnj
这个作者很懒,什么都没留下…
展开
-
Lambda表达式的一些用法
1.作为回调函数using FuncProgressCallback = std::function<bool(int32_t, int32_t)>;void DLG::SetCallback(int a, const FuncProgressCallback& cb);void Test(){ int value; DLG dlg; dlg.SetCallback(10, [&value](int pos, int total){ ...原创 2021-02-05 13:45:46 · 91 阅读 · 0 评论 -
Windows消息机制
Windows系统是消息驱动的,下面这篇文章讲讲我对Windows消息机制的理解。Window处理消息的过程:用户通过IO设备的输入操作(键盘鼠标等),看似由应用程序直接响应了用户的操作,实则不然。操作系统管理并监控着硬件设备,当键盘按下时由系统监控到,并产生一个消息(该消息记录了消息的类型,产生的窗口句柄等信息),放到系统消息队列中。系统中有一个专门的线程从消息队列中取出消息(系统是知道该消息是属于哪个窗口的),并放到该消息对应窗口的UI线程的消息队列中(UI线程有消息队列,系统为其创建。当一个线程调原创 2020-06-17 17:15:28 · 218 阅读 · 0 评论 -
c++ 结构化异常处理(SEH)
1.使用__try __finally的情形:下面的调用,如果FunX出现异常,导致m_hMem没有释放。void Fun1(){ // dosth... FunX(); WaitForSingleObject(m_hMem, INFINITE); CloseHandle(m_hMem);}使用try finally修改如下:...原创 2019-03-14 18:24:49 · 254 阅读 · 0 评论 -
SendMessage哪些事儿
关于SendMessage和PostMessage简单的理解,PostMessage把消息放到接收消息线程的消息队列(post-queue)中,调用该函数的线程不等待其执行。SendMessage分两种情况:(1)发送消息的线程与接收消息的线程是同一个线程:直接调用指定窗口的窗口过程函数,等待其返回。 (2)发送消息的线程与接收消息的线程是不同线程(包括同一进程的不同线程):消...原创 2019-03-14 16:09:15 · 479 阅读 · 0 评论