描述
查看系统当前所有进程,输出所有进程号;创建新进程,打开新的程序或应用;终止进程,对相应进程号的进程进行终止。
代码
#include <stdio.h>;
#include <windows.h>;
#include <string.h>;
#include <stdlib.h>;
void all(){
system("tasklist");
}
void create(){
char szCommandLine[] = "cmd";
STARTUPINFO si = {sizeof(si)};
PROCESS_INFORMATION pi;
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = TRUE;
BOOL bRet = ::CreateProcess(
NULL,
szCommandLine,
NULL,
NULL,
FALSE,
CREATE_NEW_CONSOLE,
NULL,
NULL,
&si,
&pi);
if(bRet){
::CloseHandle(pi.hThread);
::CloseHandle(pi.hProcess);
printf(" 创建成功\n");
printf(" 新进程的进程ID号:%d \n", pi.dwProcessId);
printf(" 新进程的主线程ID号:%d \n", pi.dwThreadId);
}
}
void stop(){
char pID[101];
char dp[101] = "taskkill /pid ";
printf("请输入你需要关闭的进程号\n");
memset(pID,0,sizeof(pID));
scanf("%s",&pID);
strcat(dp,pID);
strcat(dp," /f");
system(dp);
}
int main(){
printf("1.查看当前所有进程;2.创建新进程;3.终止进程\n");
DWORD Command_len;
char result[250];
HANDLE hProcess= GetStdHandle(STD_INPUT_HANDLE);
int n;
while(scanf("%d",&n)!=EOF){
if(n==1){
all();
}
if(n==2){
create();
}
if(n==3){
stop();
}
}
return 0;
}