
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 · 140 阅读 · 0 评论 -
Windows消息机制
Windows系统是消息驱动的,下面这篇文章讲讲我对Windows消息机制的理解。 Window处理消息的过程:用户通过IO设备的输入操作(键盘鼠标等),看似由应用程序直接响应了用户的操作,实则不然。操作系统管理并监控着硬件设备,当键盘按下时由系统监控到,并产生一个消息(该消息记录了消息的类型,产生的窗口句柄等信息),放到系统消息队列中。系统中有一个专门的线程从消息队列中取出消息(系统是知道该消息是属于哪个窗口的),并放到该消息对应窗口的UI线程的消息队列中(UI线程有消息队列,系统为其创建。当一个线程调原创 2020-06-17 17:15:28 · 261 阅读 · 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 · 333 阅读 · 0 评论 -
SendMessage哪些事儿
关于SendMessage和PostMessage 简单的理解,PostMessage把消息放到接收消息线程的消息队列(post-queue)中,调用该函数的线程不等待其执行。SendMessage分两种情况:(1)发送消息的线程与接收消息的线程是同一个线程:直接调用指定窗口的窗口过程函数,等待其返回。 (2)发送消息的线程与接收消息的线程是不同线程(包括同一进程的不同线程):消...原创 2019-03-14 16:09:15 · 560 阅读 · 0 评论