Windows API 25篇 TerminateProcess
导语:结束一个进程的方法通常有:exit(), ExitProcess, TerminateProcess. 通常一个进程在正常情况下结束的话,系统会调用 ExitProcess函数结束进程,但有时候想强行杀掉一个进程的话就必须调用TerminateProcess函数了,TerminateProcess强行关掉一个进程后,并没有做内存对象资源的清理,这样有时候会导致内存泄漏,他和ExitProcess是一样的,通常系统会调用exit函数,exit函数会清理全局的对象资源,然后调用ExitPeocess结束进程。
函数定义:
BOOL TerminateProcess(
HANDLE hProcess, // handle to the process,进程句柄
UINT uExitCode // exit code for the process,传递给进程的退出码
);
参数说明:
第一个参数不说了,关于第二个参数是我们要传递给结束进程的退出码,这样可以调用GetExitCodeProcess函数可以得到这个退出码。
使用此函数必须有PROCESS_TERMINATE权限,否则会失败,下面举例说明强行结束当前进程,不过通常状况下不适用此函数结束当前进程,以免造成内存泄漏:
void main()
{DWORD dwPID = GetCurrentProcessId();HANDLE hProcess = OpenProcess(PROCESS_TERMINATE, FALSE, dwPID);if (NULL == hProcess)return ;BOOL bExit = TerminateProcess(hProcess, 0);if(!bExit){//GetLastError(); }//如果成功就会造成hProcess句柄没有关闭,内核对象没有释放
}
转载于:https://www.cnblogs.com/priarieNew/p/9755794.html
Windows API 25篇 TerminateProcess相关推荐
- Windows API 第二篇 SHGetSpecialFolderPath
BOOL SHGetSpecialFolderPath( HWND hwndOwner, LPTSTR lpszPath, ...
- windows API 开发飞机订票系统 图形化界面 (二)
首先,用到的数据结构的定义.以及全局变量和函数的声明如下: 1 // Flight.c : 定义应用程序的入口点. 2 // 3 #include "stdafx.h" 4 5 / ...
- 挂钩Windows API
创建时间:2004-03-06 文章属性:原创 文章提交:SoBeIt (kinsephi_at_hotmail.com) ===========================[ 挂钩Windows ...
- Windows API函数速查
http://blog.csdn.net/ghevinn/article/details/8213614 Windows API函数速查 1. API之网络函数 WNetAddConnection 创 ...
- 如何在go中调用windows api
1.cgo环境搭建 初入go坑,记录一次工作中需要封装windows api 的过程.既然是go调用C++那么首先要配置cgo的环境了.要使用CGO特性,需要安装C/C++构建工具链,在macOS和L ...
- Windows API一日一练(一)第一个应用程序 使用应用程序句柄 使用命令行参数 MessageBox函数 RegisterClass和RegisterClassEx函数
要跟计算机进行交互,就需要计算机显示信息给人看到,或者发出声音给人听到,然后人看到或听到相应的信息后,再输入其它信息给计算机,这样就可以让计算机进行数据处理,把结果显示给我们.现在就来编写一个最简单的 ...
- messagebox 全部使用_「一」Windows API 零门槛编程指南——MessageBox
本篇作为Windows API 系列文章的第一篇,将简要的讲解一下什么是Windows API,Windows API能做些什么,并且尽可能讲解一些新出现的专有名词:本系列博文几乎没有难啃的" ...
- [Qt教程] 第25篇 数据库(五)SQL表格模型QSqlTableModel
[Qt教程] 第25篇 数据库(五)SQL表格模型QSqlTableModel 楼主 发表于 2013-5-21 20:36:22 | 查看: 923| 回复: 7 SQL表格模型QSqlTable ...
- C# 获得窗体句柄并发送消息(利用windows API可在不同进程中获取)
C#使用Windows API获取窗口句柄控制其他程序窗口 编写程序模拟鼠标和键盘操作可以方便的实现你需要的功能,而不需要对方程序为你开放接口.比如,操作飞信定时发送短信等.我之前开发过飞信耗子,用的 ...
最新文章
- 请问有办法加速TTS的反应时间吗
- 深入浅出HTTPS基本原理
- 电脑达人教你怎么解决Win7系统盘渐渐变小的问题
- 深入浅出python机器学习_如何用python画三维图? add_subplot() Axes3D() plot_surface() gca()
- 【Python】学习笔记总结2(Python面向对象)
- wxWidgets:拖放概述
- 如何在64位的Win10系统下安装.NET Framework 3.0
- AngularDart 现已全面采用 Dart 开发
- UVALive 7455	Linear Ecosystem (高斯消元)
- html登录界面设计代码_最简洁实现Github登录的JS代码示例
- Redis的碎片整理功能只有在使用jemalloc的时候才支持
- 使用swiftenv管理swift版本
- python中的换行符是哪个键_Python换行符问题:\r\n还是\n?
- stm32固件库文件
- 我的移动开发春季历程,大厂面试题汇总
- Python-常用数据结构(字典)-Dict
- 零代码组态搭建的水泥生产工艺流程
- java日志框架JUL、JCL、Slf4j、Log4j、Log4j2、Logback 一网打尽
- 远程办公神器-如何在家里远程办公室的电脑,利用cpolar内网穿透
- 每天一个Lodash源码解析