使用C语言查看/创建/终止进程

本文介绍了一个简单的C语言程序,用于管理Windows系统上的进程。该程序提供三个主要功能:查看当前所有运行的进程及其PID,创建新的进程并获取其进程ID和线程ID,以及通过输入PID来终止指定的进程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

描述

查看系统当前所有进程,输出所有进程号;创建新进程,打开新的程序或应用;终止进程,对相应进程号的进程进行终止。

代码

#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;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值