c语言 列出-终止系统进程

#include <stdio.h>

#include "stdafx.h"

#include <Windows.h>

#include <string.h>

#include <TlHelp32.h>



int kill(DWORD pid)

{

    HANDLE hprocess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,pid);



    if(hprocess == NULL)

    {

        printf("open process error\n");

        exit(1);

    }



    if (TerminateProcess(hprocess,0))

    {

        printf("Kill process susccess\n");

        exit(1);

    }else

    {

        printf("Kill process error\n");

        exit(1);

    }

    return 0;

}



int getprocess()

{

    PROCESSENTRY32 pe32;

    pe32.dwSize = sizeof(pe32);

    HANDLE hprocess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);

    if (hprocess == INVALID_HANDLE_VALUE)

    {

        printf("create tool help32 error\n");

        return -1;

    }



    BOOL BMORE = Process32First(hprocess,&pe32);

    while (BMORE)

    {

        printf("process name:%s\n",pe32.szExeFile);

        printf("process id:%u\n\n",pe32.th32ProcessID);

        BMORE = Process32Next(hprocess,&pe32);

    }

    CloseHandle(hprocess);

    return 0;

}



int main(int argc,char *argv[])

{

    if (argc < 2)

    {

        printf("[-]:Usage:%s list process\n",argv[0]);

        exit(1);

    }

    if (argc == 2 && strcmp(argv[1],"list") ==0)

    {

        getprocess();

    }



    if (argc == 3 && strcmp(argv[1],"kill") == 0)

    {

        kill(atoi(argv[2]));

    }

    return 0;

}

c语言 列出-终止系统进程

你可能感兴趣的:(C语言)