终止应用程序

【C/C++ Windows编程】Windows系统消息、Qt消息事件、linux下kill信号 Windows中有一个系统消息队列,对于每一个正在执行的Windows应用程序,系统为其建立一个“消息队列”,即应用程序消息队列,用来存放该程序可能创建的各种窗口的消息。应用程序中含有一段称作“消息循环”的代码,用来从消息队列中检索这些消息并把它们分发到相应的窗口函数中。在windows中,“一切皆为窗口”。虽然不是很贴切,但是说明了窗口的普遍性和其重要性。比如,你现在看到的QQ聊天窗口,就是由多个窗口组成的!Windows程序是由一系列的窗口构成的,每个窗口都有自己的窗口过程。 阅读详情

Windows是一种非剥夺式多任务操作系统。只有的应用程序交出CPU控制权后,Windows才能把控制权交给其他应用程序。当GetMessage函数找不到等待应用程序处理的消息时,自动交出控制权,Windows把CPU的控制权交给其他等待控制权的应用程序。由于每个应用程序都有一个消息循环,这种隐式交出控制权的方式保证合并各个应用程序共享控制权。一旦发往该应用程序的消息到达应用程序队列,即开始执行GetMessage语句的下一条语句。

当WinMain函数把控制返回到Windows时,应用程序就终止了。应用程序的启动消息循环前要检查引导出消息循环的每一步,以确保每个窗口已注册,每个窗口都已创建。如存在一个错误,应用程序应返回控制权,并显示一条消息。

但是,一旦WinMain函数进入消息循环,终止应用程序的唯一办法就是使用PostQuitMessage把消息WM_QUIT发送到应用程序队列。当GetMessage函数检索到WM_QUIT消息,它就返回NULL,并退出消息外循环。通常,当主窗口正在删除时(即窗口已接收到一条WM_DESTROY消息),应用程序主窗口的窗口函数就发送一条WM_QUIT消息。

虽然WinMain指定了返回值的数据类型,但Windows并不使用返回值。不过,在调试一应用程序时,返回值地有用的。通常,可使用与标准C程序相同的返回值约定:0表示成功,非0表示出错。PostQuitMessage函数允许窗口函数指定返回值,这个值复制到WM_QUIT消息的wParam参数中。为了的结束消息循环之后返回这个值,我们的第二只小板凳中使用了以下语句:

return msg.wParam ; //表示从PostQuitMessage返回的值

例如:当Windows自身终止时,它会撤消每个窗口,但不把控制返回给应用程序的消息循环,这意味着消息循环将永远不会检索到WM_QUIT消息,并且的循环之后的语句也不能再执行。Windows的终止前的确发送一消息给每个应用程序,因而标准C程序通常会的结束前清理现场并释放资源,但Windows应用程序必须随每个窗口的撤消而被清除,否则会丢失一些数据。

python启动应用程序和终止应用程序 python启动应用程序和终止应用程序 每天上班,工作需要,电脑上需要每天开机启动一些软件,下班时候,需要关掉一些软件。一个一个打开和关闭貌似是很繁琐的,于是乎,这个脚本产生了。 阅读详情

相关推荐

C#程序设计中的应用程序终止与声明

本文深入探讨了C#程序设计中的应用程序终止机制和声明规则。应用程序终止时会返回状态码以表明成功或失败,同时调用未被垃圾回收对象的析构函数。此外,文章详细解释了C#中的声明空间和成员声明,包括类型声明、命名空间以及成员的可访问性等。

weixin_42513209的博客 351

Linux信号列表

我们运行如下命令,可看到Linux支持的信号列表:$ kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV

吾欲乘风 6万+

霍尔编码器 vs 磁编码器:如何为你的电机控制项目选择最佳传感器(附实战对比)

本文深入对比了霍尔编码器和磁编码器在电机控制项目中的应用,从技术原理、性能参数、成本效益到实际场景选择提供了全面分析。通过实验室测试和项目案例,帮助工程师根据精度、环境抗性和预算选择最佳传感器方案,特别适合机器人、伺服驱动等领域的开发者参考。

weixin_28312391的博客 353

Windows核心编程(二十四)终止处理程序及异常处理程序

结构化异常处理(Structuredexception handling)简称SEH。是windows系统提供的异常处理机制。促使windows将SEH加入到windows系统的一个关键原因就是:它可以简化操作系统本身的开发工作,同时还让系统更加健壮。 我们当然也可以在我们的程序中添加SEH机制,这样我们的应用程序也可以变得更加健壮。使用SEH,我们在编写代码时可以先集中精力完成软件的正常工

woshibendangao的专栏 1298

Uncertainty-Aware Mean Teacher(UA-MT)

本文提出了一种新的基于不确定性的半监督学习框架(UA-MT),通过额外利用未标记的数据从3D MR图像中分割左心房。具体地说,本文建立了一个教师模型和一个学生模型,学生模型通过最小化标注数据上的分割监督损失和所有输入数据上的与教师模型预测输出的一致性损失进行优化。如果没有未标记输入中的注释,教师模型的预测目标可能不可靠且有噪声。:在估计不确定性 U 的指导下,我们过滤掉相对不可靠**(高不确定性),整个体积** U 的不确定性**是 {u} ∈ RH×W ×D。过滤掉高不确定性的,也就是熵大于某个值的。

Alexa_的博客 1870

FANUC机器人PROFINET通讯方式组态

6 然后对模块进行命名及更改IP地址,点击“Network Detection”,进行扫描,会生成下图,双击商科模块会生成下边的对话框,对模块进行命名及更改IP地址,在“Permanent Name”处点对勾,完成后点击“Apply Name及Apply”进行命名。此处注意,上图左上在线在不了,网络扫描处上面也灰色的,扫描不了。5双击abcc-prt-2-port RT(FW1.13),生成下面图标,在右边点击1、2把原来内容删掉,从新在左侧加载 ,使1、2是输出,3、4为输入,完成后点击OK。

dxs93的博客 8431

windows下关闭进程的命令

方法一 1.tasklist 能列出所有的进程,和相应的信息。taskkill可以清除进程 C:\Documents and Settings\Administrator>tasklist 映像名称 PID 会话名 会话# 内存使用===================...

weixin_33827965的博客 335

import-im6.q16: attempt to perform an operation not allowed by the security policy `PS‘ @ error/cons

这六个 policy 是使用 XML 格式描述的安全策略。要将其中的限制注释掉,在每个 policy 开始和结束的标记之间添加注释标记“

m0_60657960的博客 1909

进程终止信号

SIGTERM:进程终止信号,进程可以阻塞一段时间,完成I/O或释放资源后再退出 SIGKILL:进程终止信号,进程收到后立即退出(不可捕获) SIGINT:只能终止前台进程(ctrl+c) SIGSTOP:使进程暂停(不可捕获) SIGQUIT:进程退出并产生core文件 SIGHUP:终端退出时,由该终端所起的进程收到该信号,默认终止进程。 ...

smilesundream的博客 2232

鸿蒙OpenHarmony南向开发 轻量系统芯片移植指南(一)

OpenHarmony系统采用"系统>子系统>部件"层级架构,支持功能模块化裁剪。本文介绍了关键子系统及移植方法:1)启动恢复子系统负责内核到应用间的进程初始化,需配置启动入口标识及链接脚本;2)文件子系统提供基础文件操作接口,需适配HAL层文件读写功能,可通过Flash模拟、轻量文件系统或厂商自有方案实现。移植过程需修改config.json配置,添加对应组件定义及功能实现。系统采用模块化设计,开发者可根据实际需求灵活配置所需子系统功能。

yx525623的博客 1134

FreeRTOS移植实战:从零开始在STM32上搭建多任务系统(含Proteus仿真配置)

本文详细介绍了如何在STM32平台上从零开始移植FreeRTOS,并搭建多任务系统,包含Proteus仿真配置。通过环境准备、源码移植、多任务设计到仿真调试的全流程实战,帮助开发者快速掌握FreeRTOS在STM32上的应用技巧,提升嵌入式开发效率。

weixin_33737134的博客 232

python编程基础篇:python启动应用程序和终止应用程序的方法

今天小编就为大家分享一篇python启动应用程序和终止应用程序的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 目的 每天上班,工作需要,电脑上需要每天开机启动一些软件,下班时候,需要关掉一些软件。一个一个打开和关闭貌似是很繁琐的,于是乎,这个脚本产生了。 环境 系统环境: win7-32位 python 2.7.9 你还需要安装pywin32。 pip ...

python编程基础教程 3192

innovus:sroute 双层follow pin的做法

根据std cellpower pin的层次可以分成两种情况。

m0_61544122的博客 2732

python启动应用程序的方法_python启动应用程序和终止应用程序的方法

python写脚本打开应用程序#coding=utf-8 #。/usr/bin/python import os def open_app(app_dir): os.startfile(app_dir) if __name__ == "__main__": app_dir = r'C:\Program Files\Sublime Text 2\sublime_text.exe' open_app(...

weixin_29827279的博客 2100

时间序列分析(Time Series Analysis) 原理与代码实例讲解

时间序列分析(Time Series Analysis) - 原理与代码实例讲解 作者:禅与计算机程序设计艺术 / Zen and the Art of Computer Programming 关键词:时间序列预测,ARIMA模型,状态空间模型,SARIMA模型,机器学习

AI天才研究院 1248

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

android 中止应用程序,如何终止Xamarin应用程序?

如何终止Xamarin应用程序?如何从任何活动中终止Xamarin应用程序?我已经尝试了System.Environment.Exit(0)和System.Environment.Exit(1)以及Finish()并杀死了所有活动。仍然会打开一个空白页面,其中包含默认活动名称和黑屏。有什么针对性的解决方案吗?Nik asked 2020-08-06T01:07:33Z12个解决方案45 votes...

weixin_33603397的博客 775

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

python停止程序运行_python启动应用程序和终止应用程序

python启动应用程序和终止应用程序1. 目的每天上班,工作需要,电脑上需要每天开机启动一些软件,下班时候,需要关掉一些软件。一个一个打开和关闭貌似是很繁琐的,于是乎,这个脚本产生了。2. 环境系统环境:- win7-32位- python 2.7.9你还需要安装pywin32。pip install pywin323. 编写脚本启动应用程序脚本#coding=utf-8import win32...

weixin_39906906的博客 322

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

如何“干净地”终止 Win32 中的应用程序

如何“干净地”终止 Win32 中的应用程序察看这篇文章对应的产品文章 ID:178893最后更新日期:2004年11月25日版本:2.2本页内容概要更多信息 32 位进程(和 Windows 95 下的 16 位进程) 16 位问题(在 Windows NT 下) 示例代码这篇文章中的信息适用于:概要在理想环境中,某一进程可能会通过某种形式的进程间通信要求另一进程关闭。不过,如果您对希望其关闭的

小发猫 1788

Linux应用程序中终止进程的几种方法

在 Linux 应用程序中,终止进程的方式有多种,通常取决于进程是否需要进行正常退出或者处理异常情况。常用的方法包括 exit()、_exit()、_Exit() 和 abort() 函数。

不脱发的程序猿 1470

应用程序挂起、复原与终止— IOS开发

应用程序挂起、复原与终止— IOS开发  一、挂起 当有电话进来或者锁屏,这时你的应用程会挂起,在这时,UIApplicationDelegate委托会收到通知,调用 applicationWillResignActive 方法,你可以重写这个方法,做挂起前的工作,比如关闭网络,保存数据。 C代码   - (void)applicationWillRes

u011656448的专栏 793

activity切换出现应用程序终止的解决方法

在做 activity切换功能的时候,出现应用程序终止的解决方法,代码的写法如下:Button button = (Button) findViewById(R.id.btnOpenMain);  /* 监听button的事件信息 */  button.setOnClickListener(new Button.OnClickListener() {   public void onClick(V...

weixin_34114823的博客 186

AppDelegate关于应用程序挂起、复原与终止的代理方法

AppDelegate关于应用程序挂起、复原与终止的代理方法: 首次运行: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions=====> 程序首次运行 - (void)applicationDidBecomeActive:

56ik的博客 375

如何“干净的”终止 Win32 中的应用程序

在理想环境中,某一进程可能会通过某种形式的进程间通信要求另一进程关闭。不过,如果你对希望其关闭的应用程序没有源代码级控制权,可能就没有办法做这样的选择。尽管没有哪种方法能保证“干净地”关闭 Win32 中的应用程序,但你可以采取一些步骤来确保应用程序使用最佳方法清除资源。32 位进程(和 Windows 95 下的 16 位进程)   在 Win32 下,操作系统可保证在进程关闭时清除进程所拥有的资源。但是,这并不意味着进程本身将有机会对磁盘执行任何最后的信息刷新或通过远程连接执行任何最后的通信,也不意..

yonghengzhimi的专栏 1263

python启动应用程序和终止应用程序_python启动应用程序和终止应用程序

python启动应用程序和终止应用程序1. 目的每天上班,工作需要,电脑上需要每天开机启动一些软件,下班时候,需要关掉一些软件。一个一个打开和关闭貌似是很繁琐的,于是乎,这个脚本产生了。2. 环境系统环境:win7-32位python 2.7.9你还需要安装pywin32。pip install pywin323. 编写脚本启动应用程序脚本#coding=utf-8import win32api#...

weixin_34523442的博客 248

python终止运行无反应_终止运行Python应用程序(Terminate Running Python Apps)

终止运行Python应用程序(Terminate Running Python Apps)我有一个Raspberry Pi运行Raspbian控制家庭自动化系统作为大学项目的一部分。 为了控制这一点,我使用ASP.NET Web应用程序在Pi上启动SSH命令以启动各种Python应用程序。 在开始新的应用程序之前,我需要一种通过SSH终止另一个应用程序的方法例如:a.py和b.py正在运行用户从W...

weixin_39688870的博客 1065

[AIR] AIR 应用程序的调用和终止

本节讨论几种对已安装的 Adobe® AIR® 应用程序进行调用的方法,以及关闭运行中的应用程序的选项和注意事项。 注: NativeApplication、InvokeEvent 和 BrowserInvokeEvent 对象只可用于 AIR 应用程序沙箱中运行的 SWF 内容。在 Flash Player 运行时、浏览器、独立播放器(放映文件)或应用程序沙箱之外的 AIR 应用...

weixin_30855761的博客 453
上一篇: 创建消息循环
下一篇: 窗口过程,窗口过程函数
runner0592
博客等级 码龄21年 4粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值