CreateProcess TerminateProcess 创建与终止进程 demo
来源:互联网 发布:linux kill -9怎么用 编辑:程序博客网 时间:2024/05/21 01:31
用CreateProcess启动MyEclipse,5秒后终止该进程。
IDE:VS2010
#include <iostream>#include <windows.h>#include <tlhelp32.h>using namespace std;bool killProcess(PROCESS_INFORMATION& processInfo){ DWORD processId = processInfo.dwProcessId; PROCESSENTRY32 processEntry = {0}; processEntry.dwSize = sizeof(PROCESSENTRY32);//给系统内的所有进程拍一个快照 HANDLE handleSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); //遍历每个正在运行的进程 if( Process32First(handleSnap, &processEntry) ){ BOOL isContinue = TRUE;//终止子进程 do{ if( processEntry.th32ParentProcessID == processId ){ HANDLE hChildProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processEntry.th32ProcessID); if( hChildProcess ){ TerminateProcess(hChildProcess, 0); CloseHandle(hChildProcess); } } isContinue = Process32Next(handleSnap, &processEntry); }while( isContinue ); HANDLE hBaseProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processId); if( hBaseProcess ){ TerminateProcess(hBaseProcess, 0); CloseHandle(hBaseProcess); } }DWORD exitCode = 0;GetExitCodeProcess(processInfo.hProcess, &exitCode);cout<<"exitCode="<<exitCode<<endl; if( exitCode == STILL_ACTIVE ){ return false; } return true;}int main(){STARTUPINFO si;PROCESS_INFORMATION pi;ZeroMemory( &pi, sizeof(pi) );ZeroMemory( &si, sizeof(si) );si.cb = sizeof(si);if( CreateProcess(NULL, "D:\\MyEclipse2014GA\\myeclipse.exe", NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi) ){Sleep(5000);cout<<killProcess(pi)<<endl;;}else{cout<<"创建失败!"<<endl;HANDLE hProcess = GetCurrentProcess();TerminateProcess(hProcess,0);}return 0;}
0 0
- CreateProcess TerminateProcess 创建与终止进程 demo
- 创建进程CreateProcess,结束进程 TerminateProcess
- TerminateProcess终止进程失败
- 创建进程API CreateProcess Demo
- TerminateProcess 终止|杀死其它进程
- TerminateProcess 终止|杀死其它进程
- CreateProcess 终止进程
- 启动、关闭外部进程ShellExecute() 、CreateProcess()、TerminateProcess()、OpenProcess()==
- 启动结束进程;PROCESS_INFORMATION;CreateProcess;ZeroMemory;TerminateProcess;ShellExecute
- TerminateProcess 和 CreateProcess
- WindowsAPI详解——TerminateProcess 终止|杀死其它进程
- 关于进程创建,CreateProcess
- CreateProcess创建进程
- CreateProcess创建进程
- OS之 进程的创建与终止
- CreateProcess创建新的进程
- CreateProcess创建的子进程
- CreateProcess创建一个隐藏进程
- Iometer学习笔记之五:详解“Test Setup”tab(2)
- C对文件的读写
- Atitit 深入理解耦合Coupling的原理与attilax总结
- android中setClickable,setEnabled,setFocusable的含义及区别
- VMware 安装linux系统
- CreateProcess TerminateProcess 创建与终止进程 demo
- gradle基本使用
- 阻塞(block),非阻塞(non-block),异步(asynchronous),同步(synchronous)
- Python高级特性
- Memcache源码阅读(1)---看源码的心得
- Codeforces 743D 树形dp
- Iometer 详细了解见官网
- Leetcode Submission Details
- 【leetcode】66. Plus One【java】