Application.Exit()并不是在什么地方都能终止程序的运行

C++ exit()函数详解:进程终止机制与退出码规范 在C++程序生命周期管理中,exit()并非简单的流程控制语句,而是向操作系统发起的进程级终止请求,其行为严格遵循POSIX标准与C++标准库契约。它触发全局/静态对象析构、atexit回调执行及stdio缓冲区刷新,但跳过栈上局部对象清理——这一特性直接关联RAII资源管理有效性与内存泄漏风险。退出状态码作为8位无符号整数(0–255),是Shell脚本、Docker容器、CI/CD流水线、Gradle构建系统等工具链识别程序健康状态的核心信号,如exit code 1181指向link.exe链接失败, 阅读详情

以前是这样:在程序启动时的试用期检测中,如果检测失败返回False,然后在Sub Main()中用End结束程序

    Public Sub Main()

        '......

        If CheckEDate() = False Then

            End

        End If

 

        Application.Run(New frmMain)

    End Sub

刚才想直接在检查失败后用Application.Exit()直接退出,测试了一下,发现这样不行

提示软件过期后执行了Application.Exit(),但是程序没有退出,而是继续运行。

查了一下MSDN,发现就是应该这样的:
Application.Exit 方法 
通知所有消息泵必须终止,并且在处理了消息以后关闭所有应用程序窗口。

备注

该方法停止在所有线程上运行的所有消息循环,并关闭应用程序的所有窗口。该方法并不强制应用程序退出。Exit 方法通常从一个消息循环内调用,该方法强制 Run 返回。若要只退出当前线程的某个消息循环,请调用 ExitThread。

警告   当调用 Application.Exit 方法以退出应用程序时,不引发 Form.Closed 和 Form.Closing 事件。如果在必须执行的其中一个事件中有验证代码,则在调用 Exit 方法之前,应分别为每个打开的窗体调用 Form.Close 方法。
Environment.Exit(0)和Environment.Exit()方法 net强制退出主窗口的方法——Application.Exit()方法和Environment.Exit(0)方法 2009年04月09日 23:59:00 fengloveyun 阅读数:1470 .net强制退出主窗口的方法——Application.Exit()方法和Environment.Exit(0)方法 .net类库已经帮助我们实现了窗口的关闭,如果此窗口是系统的主窗口,关闭此窗口即应... 阅读详情

相关推荐

ESP32+LED12864液晶屏实战:手把手教你显示中文与自定义图标(附完整代码)

本文详细介绍了如何使用ESP32单片机驱动带字库的LED12864液晶屏,实现中文显示与自定义图标。从硬件选型、接线方案到驱动编写、字库解析,提供了完整的实战代码与优化技巧,并最终构建了一个智能家居控制面板的完整示例项目。

weixin_29212867的博客 145

Application.Exit()

调用 Application.Exit() 并不一定能让程序立即退出,程序会等待所有的前台线程终止后才能真正退出。解决方法:1. 背景线程为避免因为线程造成程序无法退出,可以将线程设置为后台线程(IsBackground = true)。当然,这样一来,你需要自行处理后台线程的数据操作安全。2. Environment.Exit(0);该方法会强制进程关闭,并给操作系统一个退出代码。  

Akuma专栏 2801

SAP MM委外加工保姆级教程:从BOM配置到MIGO发货的完整避坑指南

本文提供SAP MM模块中委外加工的完整操作指南,涵盖从BOM配置到MIGO发货的全流程。详细解析委外采购和工序委外两种模式,包括主数据配置、采购订单创建及物料移动等关键步骤,帮助用户规避常见错误,提升供应链管理效率。特别适合制造业企业实施SAP外包业务参考。

weixin_26905487的博客 527

Application.Exit()和this.close()主要有什么区别?

Application.Exit 方法   通知所有消息泵必须终止,并且在处理了消息以后关闭所有应用程序窗口。 Form.Close 方法 关闭窗体。  如果该窗体是应用程序的主启动窗体,则調用窗体的Close()方法,跟調用Application.Exit的效果差不多。 如果该窗体非主启动窗体,则只是关闭该窗体而不关闭整个应用程序。 如果是多线程应用程序,要想关闭整个应用

wu_pan123的博客 4487

微型纵向加密在新能源场站中的实战部署与运维避坑指南

本文详细解析了微型纵向加密在新能源场站中的实战部署与运维技巧。通过国密算法SM4实现数据加密,确保新能源场站通信安全,同时提供非侵入式部署方案和运维避坑指南,帮助提升网络稳定性和运维效率。

weixin_30505225的博客 596

Anomalib实战:从零开始构建自定义数据集的异常检测模型

本文详细介绍了如何使用Anomalib 2.1.0从零开始构建自定义数据集的异常检测模型。通过实战演示,指导读者准备符合规范的数据集结构,快速上手训练Patchcore等先进算法,并完成模型推理与调优,为工业质检、医疗影像等场景提供高效的视觉异常检测解决方案。

weixin_29165465的博客 109

.net强制退出主窗口的方法——Application.Exit()方法和Environment.Exit(0)方法

.net类库已经帮助我们实现了窗口的关闭,如果此窗口是系统的主窗口,关闭此窗口即应该退出了整个应用程序。 但事实上有时候并不是这样的,关闭窗口,只是停止了当前窗口的消息循环。 系统主窗口,实质上是Main函数中开始消息循环的窗口,这个消息循环结束后,Main函数就基本上完成了历史使命,整个应用程序自然就结束了。 Application.Exit()方法是终止所有线程上的消息循环,一般情况下,...

weixin_30696427的博客 1772

得物APP破解

本文介绍了得物App(版本4.74.5)的逆向破解过程,重点分析了绕过强制更新、抓包技巧以及破解newSign参数的详细方法。首先通过断网再联网的方式绕过强制更新,然后使用SocksDroid进行抓包分析,发现首页推荐接口需要newSign参数。通过反编译定位到RequestUtils.c方法,利用Frida进行Hook验证,最终解析出newSign的生成逻辑:将请求参数加入固定字段后排序拼接,再进行MD5加密生成签名。文中提供了完整的Hook脚本和签名算法分析,仅供学习移动安全技术参考。

m0_74653634的博客 3482

winform中关于Application.Exit()的使用

WINFORM 中关于FormClosing与FormClosed的区别 1.当Application.Exit()放在FormClosing事件中使用时,Application.Exit会触发窗体关闭事件,导致在此触发FormClosing,从而发生循环调用。 2.当把Application.Exit()放在formClosed事件中使用时,在主窗体关闭后,再执行程序退出。再次编译系统后,点击关闭按钮,系统正常退出。 ...

everlasting的博客 2114

【机械视觉】Halcon—【二、Halcon算子全面介绍(超详细版)】

Halcon 的算子(operators)按照功能被系统性地划分为多个类别,官方文档中目前(Halcon 22.11 版本)共有 19 个主分类,每个主分类下还有若干子分类。 本人在此对这19个分类的常用核心算子进行了一系列的总结,且本人在文章最后还总结了一些案例经验。 注意: ​​​​​​​跨分类调用:某些算子可能在多个分类中,但官方文档中会明确其主分类。 例如: read_image(文件操作)常被其他分类(如图像处理)的示例调用,但其核心功能是文件读取。

qq_3517289697的博客 3913

半导体制造中的通孔缺陷与冗余通孔技术解析

通孔(Via)是半导体制造中连接不同金属层的关键结构,其可靠性直接影响芯片良率。随着工艺节点演进至28nm及更先进制程,通孔缺陷导致的良率损失日益显著,主要表现为完全开路和高阻态两种失效模式。冗余通孔技术通过在关键位置增加备用连接,可有效提升芯片可靠性,其实现涉及物理冗余与电气冗余两种方案。该技术在7nm/5nm工艺中已证明可将通孔相关缺陷率降低10-100倍,但面临设计规则复杂性、规模处理效率和动态合规验证等工业化挑战。智能双切通孔插入流程通过动态DRC规则解析、奇偶层级并行处理和增量式验证等创新方法,显

weixin_35982453的博客 382

C#面: .NET 中 Application.Exit 和 Form.Close 有什么不同

需要注意的是,当调用Form.Close() 方法关闭窗体时,如果该窗体有任何子窗体,它们也会被关闭。此外,Form.Close() 方法还会触发 Form.FormClosing 和Form.FormClosed 事件,可以在这些事件中执行一些清理操作。在.NET中,Application.Exit 和 Form.Close 都是用于关闭应用程序或窗体的方法,但它们之间有一些不同之处。

那个那个鱼的博客 1283

Matlab图像地图上的最短路径计算算法——Dijkstra算法

接下来,我们进入主循环,不断从优先队列中取出距离最小的节点,并更新其邻居节点的距离和路径。Dijkstra算法是一种常用的最短路径算法,本文将介绍如何使用Matlab实现Dijkstra算法来计算图像地图上的最短路径。为了使用上述算法,我们需要将图像地图转换为一个矩阵,并将可通行的区域设置为白色(或其他亮度值),障碍物区域设置为黑色(或其他暗度值)。然后,我们可以指定起始节点和终止节点,并调用。通过上述的代码实现,我们可以在Matlab中使用Dijkstra算法来计算图像地图上的最短路径。

2301_78484069的博客 2044

C#使用Application.Exit()有时无法真正退出程序,它和Environment.Exit(0)区别是什么?

Application.Exit()有时无法真正退出程序的原因: 如果程序是多线程的,其中有前台线程(即没有被显式设置IsBackground=true的线程),当调用Application.Exit方法后,由于前台线程还在运行,往往会造成Application.Exit失效。 解决方法之一: //先关闭窗口 this.Close(); //再退出程序 Application.Exit()...

美奇软件开发工作室 1万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

winform子窗体中,Application.Exit()不起作用的解决方法。

winform子窗体中,Application.Exit()不起作用的解决方法。

WYZSC的专栏 2970

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

java exit用法_java – 一起使用Platform.exit()和System.exit(int)

调用System.exit(…)终止Java虚拟机.据我了解,调用Platform.exit()只是发出JavaFX Toolkit关闭的信号,导致在FX Application线程上调用应用程序实例的stop()方法,并允许FX应用程序线程终止.这反过来导致Application.launch()返回.如果你在main(…)方法中使用通常的习语:public static void main(S...

weixin_42138780的博客 1241

Application.Exit()到底退出了什么

<br /> 遇到一个unhandled exception的bug,查找原因后发现Application.Exit()之后的代码也会被执行,<br />if (attemptsCount > attemptsMax)<br />{<br />    Application.Exit();<br />}<br />WMainForm form = new WMainForm();<br />... more initializations ...<br />Application.Run(form);<br

qian_lian的专栏 3370

Application.Exit()为什么没有退出程序?

qygaojiansheng的专栏 2900

为何Application.Exit()无法真正退出程序

Application.Exit()只是发出终止的消息,并不立即退出     立即退出可以用Environment.Exit(0)  Application   类具有用于启动和停止应用程序和线程以及处理   Windows   消息的方法。调用   Run   以启动当前线程上的应用程序消息循环,并可以选择使某窗体可见。调用   Exit   或   ExitThread   来停止消息循环

1万+

Application.Exit()结束程序,但线程还在的解决方法。

Application.Exit()结束程序,但线程还在的解决方法。 出现此情况大多原因是使用了多线程编程,或者你所调用的dll使用了多线程。 我们知道,一般情况下的线程执行完指定的任务之后是会关闭了的,但是如果对于一些循环类线程,或者忘记关掉的线程时,这个时候就需要我们手动将之强制关闭。 用以下三个中的一个即可尝试强制关闭线程。 复制内容到剪贴板 代码: Applicat

老菜鸟 9679

(C#)Application.Exit()、Environment.Exit(0)区别

Application.Exit:通知winform消息循环退出。会在所有前台线程退出后,退出应用强行退出方式,就像 Win32 的 PostQuitMessage()。它意味着放弃所有消息泵,展开调用堆栈,并将执行返回给系统方法停止在所有线程上运行的所有消息循环,并关闭应用程序的所有窗口Environment.Exit:立即终止当前进程,应用程序即强制退出。返回exitcode给操作系统,相...

weixin_30905133的博客 826

winfrom强制退出程序(Application.Exit()与Environment.Exit(0))

Application.Exit():通知所有消息泵必须终止,并且在处理了消息以后关闭所有应用程序窗口(先停止线程(前台线程执行完毕,后台线程自动结束),然后终止进程) Environment.Exit(0):终止此进程,并将退出代码返回到操作系统(直接终结进程,不会等待线程) Application.Restart():关闭应用程序并立即启动一个新实例 Application.Run():...

weixin_34187822的博客 757

WPF退出当前程序(关闭全部窗体并退出程序)

WPF退出当前程序(关闭全部窗体并退出程序) 一般关闭当前窗体使用: this.Close(); 关闭全部窗体并退出程序使用: Application.Current.Shutdown(); 但是以上方法在有线程在执行的且是后台执行的情况,退出程序,并不是真正的退出,在进程中还存在。 Application.Current.Shutdown();//当 Thread.CurrentThread.I...

u010659789的博客 1万+

关于c#中强制退出程序运行的两个方法比较

简单介绍Application.Exit()函数和Environment.Exit()函数 一般情况下这两个函数都可以结束程序运行,不过 一般情况下,都使用前者,或者说使用前者来退出程序更习惯顺手些。至少我是这么觉得。 其实要是深入理解这两个函数。 msdn里面是这么说的:Application.Exit();    通知所有消息泵必须终止,并且在处理了消息以后关闭所有应用程序窗口。

ghevinn欢迎您光临 4389
上一篇: 在Win32中管理虚拟内存
下一篇: 程序员是怎么喝酒的(转帖)
AntingZ
博客等级 码龄23年 13粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值