转载出处:http://blog.csdn.net/zac_sian/article/details/50809084

  可以从以下两个方面进行查找!
  1、程序开启了进程,进程中使用了while(1),在程序退出时未能关闭该线程
  解决方法: 在主进程类的析构函数结束该线程

  2、程序的消息队列未销毁引起
  使用了GetMessage创建了消息队列,但在程序退出时没有及时处理完消息
解决方法: 将 GetMessage 的最后一个参数设置为PM_REMOVE,即每次处理完消息队列中的消息后即刻从消息队列中销毁该消息

  小结:
  我编程中遇到的问题就属于第二种情况,刚开始从检查全局变量是否在退出时被释放时查起,接着检查了上述的情况1,发现进程还是在任务管理器中存在,最后在调试程序中发现向GetMessage 所在的线程发送了一次某个消息,处理完后发现GetMessage 始终还能继续接收该消息[按理接收一次后下次GetMessage就不会再收到该消息了,所有怀疑是该消息在处理完后没有被销毁,始终存留在消息队列中,导致GetMessage 不停从消息队列中提取该消息。 经过确认发现,是将该函数的最后一个参数设置为NULL引起,改为PM_REMOVE后问题解决

  参考http://blog.csdn.net/yl2isoft/article/details/38168939

【转】 VC++ 关闭程序后任务管理器进程中进程仍然存在的解决方法的更多相关文章

  1. 关于C#关闭窗体后,依旧有后台进程在运行的解决方法

    http://www.cnblogs.com/HappyEDay/p/5713707.html 这里粘贴原文权当备份了. C#中WinForm程序退出方法技巧总结 一.关闭窗体 在c#中退出WinFo ...

  2. Devexpress xaf针对某个用户登录后在面板中设置导航无效的解决方法

    Devexpress xaf框架生成的项目默认情况下导航栏是显示在左侧,有时候我们用某个账户登录后,发现导航栏无法显示在左侧,操作十分不方便.我们可以去数据库删除当前登录用户的自定义布局 解决方法如下 ...

  3. windows系统中Dotnet core runtime 安装后,无法启动次程序,因为计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll的解决方法

    因为dotnet core runtime依赖vc++2015,如果系统未安装vc++2015则会报上面的错误 解决方案:先下载安装vc++2015再安装dotnet core runtime, vc ...

  4. @Data注解使用后在eclipse中get/set报错解决方法

    Maven项目中已经导入相关的lombok.jar包但是使用后仍提示无set/get方法 安装完成之后,请确认eclipse安装路径下是否多了一个lombok.jar包,并且其 配置文件eclipse ...

  5. 在OpenCV2.2后的版本中没有CvvImage类的解决方法(及出现错误:IntelliSense: 未定义标识符 "CvvImage" )

    首先在你的解决方案资源管理器中的头文件和源文件下分别添加 CvvImage.cpp 如下图: view类头上加个#include "CvvImage.h"  头文件,应该就可以解决 ...

  6. 以&运行在后台的程序,关闭terminal后,相应进进程自动关闭

    以&运行在后台的程序,关闭terminal后,相应进进程自动关闭

  7. 在启动php时,无法启动此程序,由于计算机中丢失MSVCR110.dll的解决方法

    在启动php时,运行RunHiddenconsole.exe php-cgi.exe -b 127.0.0.1:9000 -c时,出现错误:无法启动此程序,由于计算机中丢失MSVCR110.dll 方 ...

  8. 国内不fq安装K8S四: 安装过程中遇到的问题和解决方法

    目录 4 安装过程中遇到的问题和解决方法 4.1 常见问题 4.2 常用的操作命令 4.3 比较好的博客 国内不fq安装K8S一: 安装docker 国内不fq安装K8S二: 安装kubernet 国 ...

  9. VS2012中丢失ArcGIS模板的解决方法

    VS2012中丢失ArcGIS模板的解决方法 由于ArcGIS10.0(for .NET)默认是用VS2010作为开发工具的,所以在先安装VS2012后装ArcGIS10.0 桌面版及ArcObjec ...

随机推荐

  1. Linux内核分析(三)内核启动过程分析——构造一个简单的Linux系统

    一.系统的启动(各历史节点) 在最开始的时候,计算机的启动实际上依靠一段二进制码,可以这么理解,他并不是一个真正的计算机启动一道程序.计算机在开始加电的时候几乎是没有任何用处的,因为RAM芯片中包括的 ...

  2. cakephp事务处理

    使用cakephp框架做开发时,涉及到多个数据表的数据保存,需要使用cakephp的事务处理,查cakephp的说明手册也没看明白,从开发社区中看到了解决的办法,考虑到英文的问题,所以转给大家,以供参 ...

  3. C# 关键字 Visual Studio 2012

    C# 关键字 Visual Studio 2012 其他版本 关键字是对编译器具有特殊意义的预定义保留标识符. 它们不能在程序中用作标识符,除非它们有一个 @ 前缀. 例如,@if 是有效的标识符,但 ...

  4. .Net 下未捕获异常的处理

    原地址:http://www.cnblogs.com/eaglet/archive/2009/02/17/1392191.html .Net 下未捕获异常的处理 作者:Eaglet 随着.Net技术的 ...

  5. Tp框架—方法中处理数据

    Tp框架-方法中处理数据 可以使用函数过滤处理内容. $data[$key]['content_title'] = mb_substr(strip_tags($val['content']) ,0,4 ...

  6. STL源码剖析(空间配置器)

    前言 在STL中,容器的定义中都带一个模板参数,如vector template <class T, class Alloc = alloc> class vector {...} 其中第 ...

  7. 【BIEE】19_不齐整维和越级维

    不齐整维:没有子节点的维度 越级维:层级维度出现断裂,则称为越级维 下图我们就可以清晰的看出: 首先,我们将表导入到资料库做好与事实表的关联后并建立相应维 以下是按照一般维度创建维后的结果 创建完成之 ...

  8. Datastage装载数据报错 -798 428C9 不能把一个值插入到用GENERATED ALWAYS定义的ROWID列

    使用Datastage装载数据到下表中报错. 表结构 INCREMENT ),cst_name )) 报错 解决办法 新建表T_tmp )) 导入到该表后再使用INSERT INTO ...SELEC ...

  9. Python-PyQt安装

    Windows下安装PyQt需要使用 mingw32-make工具, 以在windows下make

  10. ImageBox Control with Zoom/Pan Capability

    Download source files - 10.8 Kb Download demo project - 6.81 Kb Introduction This control extends th ...