WinExec不仅会造成延迟,并且还会引起消息的重入。

以下是调用堆栈:

WinvoiceCC.exe!CWinvoiceCCDlg::OnMsgHttpReq(unsigned int wParam=38434384, long lParam=0)  行624
C++

mfc90d.dll!CWnd::OnWndMsg(unsigned int message=2564, unsigned int wParam=38434384, long lParam=0, long * pResult=0x0012e4dc)  行2018 + 0x11 字节
C++

mfc90d.dll!CWnd::WindowProc(unsigned int message=2564, unsigned int wParam=38434384, long lParam=0)  行1755 + 0x20 字节
C++

mfc90d.dll!AfxCallWndProc(CWnd * pWnd=0x0012f9b4, HWND__ * hWnd=0x0034062c, unsigned int nMsg=2564, unsigned int wParam=38434384, long lParam=0)  行240 + 0x1c 字节
C++

mfc90d.dll!AfxWndProc(HWND__ * hWnd=0x0034062c, unsigned int nMsg=2564, unsigned int wParam=38434384, long lParam=0)  行403
C++

mfc90d.dll!AfxWndProcBase(HWND__ * hWnd=0x0034062c, unsigned int nMsg=2564, unsigned int wParam=38434384, long lParam=0)  行441 + 0x15 字节
C++

user32.dll!_InternalCallWinProc@20()  + 0x28 字节


user32.dll!_UserCallWinProcCheckWow@32()  + 0xb7 字节


user32.dll!_DispatchClientMessage@20()  + 0x4d 字节


user32.dll!___fnDWORD@4()  + 0x24 字节

ntdll.dll!_KiUserCallbackDispatcher@12()  + 0x13 字节


user32.dll!_NtUserWaitForInputIdle@12()  + 0xc 字节


kernel32.dll!_WinExec@8()  + 0xaf 字节

WinvoiceCC.exe!CExternExeCmdService::Execute(const char * lpszCmd=0x004eef48, const char * lpszParams=0x024a2fd8)  行21 + 0x1d 字节
C++

WinExec可能会引起消息重入的更多相关文章

  1. rabbitmq之消息重入队列

    说起消息重入队列还得从队列注册消费者说起,客户端在向队列注册消费者之后,创建的channel也会被主队列进程monitor,当channel挂掉后,主队列进程(rabbit_amqqueue_proc ...

  2. 【WCF】服务并发中的“可重入模式”

    WCF服务实例的并发模式是在服务实现类上,使用 ServiceBehaviorAttribute 的 ConcurrencyMode 属性来指定.其值由 ConcurrencyMode 枚举来界定,这 ...

  3. 不可重入定时器Newlife.TimerX

    在.net常用的定时器类有下面三种,使用定时器时需要设定参数,如间断时间.定时器计溢出后的回调函数.延时.开始等,定时器的的主要方法有开始.终止等,不同的定时器实现上述的方法会有一些差异,本文会针对具 ...

  4. Use Reentrant Functions for Safer Signal Handling(译:使用可重入函数进行更安全的信号处理)

    Use Reentrant Functions for Safer Signal Handling 使用可重入函数进行更安全的信号处理 How and when to employ reentranc ...

  5. java高并发系列 - 第12天JUC:ReentrantLock重入锁

    java高并发系列 - 第12天JUC:ReentrantLock重入锁 本篇文章开始将juc中常用的一些类,估计会有十来篇. synchronized的局限性 synchronized是java内置 ...

  6. redis实现分布式锁需要考虑的因素以及可重入锁实现

    死锁 错误例子 解决方式  防止死锁 通过设置超时时间  不要使用setnx key   expire 20  不能保证原子性 如果setnx程序就挂了 没有执行expire就死锁了  reidis2 ...

  7. Redis分布式锁—Redisson+RLock可重入锁实现篇

    前言 平时的工作中,由于生产环境中的项目是需要部署在多台服务器中的,所以经常会面临解决分布式场景下数据一致性的问题,那么就需要引入分布式锁来解决这一问题. 针对分布式锁的实现,目前比较常用的就如下几种 ...

  8. C#中Timer使用及解决重入问题

    C#中Timer使用及解决重入问题 ★介绍 首先简单介绍一下timer,这里所说的timer是指的System.Timers.timer,顾名思义,就是可以在指定的间隔是引发事件.官方介绍在这里,摘抄 ...

  9. 可重入锁 公平锁 读写锁、CLH队列、CLH队列锁、自旋锁、排队自旋锁、MCS锁、CLH锁

    1.可重入锁 如果锁具备可重入性,则称作为可重入锁. ========================================== (转)可重入和不可重入 2011-10-04 21:38 这 ...

随机推荐

  1. [Windows Server 2008] 阿里云.云主机忘记密码解决方法

    ★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com ★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频. ★ 本节我们将带领大家:解决阿里云 ...

  2. (二)Redis for 阿里云公网连接

    目录 (一)Redis for Windows正确打开方式 (二)Redis for 阿里云公网连接 (三)Redis for StackExchange.Redis 阿里云目前仅支持内网连接Redi ...

  3. servlet 常用指令

    一.设置响应内容类型 response.setContentType("text/html;charset=UTF-8"); 二.设置请求的字符编码 request.setChar ...

  4. Android(java)学习笔记189:ContentProvider使用(银行数据库创建和增删改查的案例)

    1. Android的四大组件: (1)Activity  用户交互的UI界面 (2)Service  后台运行的服务 (3)BroadcastReceiver 广播接收者 (4)ContentPro ...

  5. 关闭警告&关闭eslint

    1.main.js中添加 vue.config.productiontip = false  这样即可去除警告!  第一个除了那个配置意外,还需要将 NODE_ENV 设置为 production 参 ...

  6. yum升级php版本

    查看当前 PHP 版本 1 php -v 查看当前 PHP 相关的安装包,删除之 1 2 3 4 5 yum list installed | grep php   yum remove php   ...

  7. php基础查找算法

    1.顺序查找 function line_search($array,$tar) { if(!is_array($array) || count($array) < 1) return fals ...

  8. 第4节 hive调优:1、2、fetch抓取和表的优化

    hive的调优:第一个调优:fetch抓取,能够避免使用mr的,就尽量不要用mr,因为mr太慢了 set hive.fetch.task.conversion=more 表示我们的全局查找,字段查找, ...

  9. 通俗易懂的Redux了解下

    Redux真的让我脑仁疼,感觉有点搞不定他,因为对我而言太抽象了.所以我用通俗易懂地方法去思考Redux,感觉能够理解了. 本文要点: action 配置行为 store.dispatch(actio ...

  10. windows mac配置host方法

    配置host方法如下: 1.windows 系统配置host (1)打开电脑的系统盘(一般默认为C盘):C盘 -> Windows -> System32 -> drives -&g ...