zoukankan      html  css  js  c++  java
  • 2018-11-19-windows-应用程序在关机时的退出代号

    title author date CreateTime categories
    windows 应用程序在关机时的退出代号
    lindexi
    2018-11-19 14:31:38 +0800
    2018-11-19 14:20:54 +0800

    在 windows 应用程序关闭的时候可以通过进程的 ExitCode 了解这个应用是如何关闭的

    因为所有的应用都可以自己定义应用关闭的 ExitCode 所以如果应用是自己开发的,那么可以通过 ExitCode 作为约定。

    普通的应用都是使用 0 作为应用程序正确处理了关闭,也就是正常的关闭。

    在用户关机的时候,可以通过在注册表设置等待应用多久才会退出应用。

    打开注册表,在 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl 的 WaitToKillServiceTimeout 就是设置的超时时间,单位是毫秒

    在关机的过程,如果发现应用没有自己退出,系统就会关闭软件。

    这时软件拿到的是 ExitCode 是 1073807364 (0x40010004) 这个值相当于 -1073741510 (0xc000013a) 表示应用程序是在系统关闭的时候关闭,或者软件收到了 ctrl+Cctrl+Break 关闭。也有找到某个应用程序里面越界访问被系统关闭也是 -1073741510 所以通过这个值判断是关机也是不对的

    当前用户也可以自己设置 ExitCode 为 1073807364 所以如果不是自己写的程序,通过这个方式判断第三方程序的关闭是否是在系统关闭是不一定

    其他的 ExitCode 请看 System Error Codes

    Exit code 1073807364 (0x40010004) - BOINC Wiki

    System Error Codes

  • 相关阅读:
    磁盘
    磁盘接口
    Linux help websites
    [SOJ] 1282. Computer games (KMP)
    [SOJ]1753 解码
    hdu 3473 裸的划分树
    hdu 4417 划分树
    hdu 4665 搜索
    hdu 4340 树状DP
    hdu 4005 边连通度与缩点
  • 原文地址:https://www.cnblogs.com/lindexi/p/12085759.html
Copyright © 2011-2022 走看看