windows编程->进程获取

本文介绍了Windows环境下进程的基本操作,包括进程信息结构PROCESSENTRY32的定义、使用Process32First与Process32Next获取进程信息的方法,以及如何通过TerminateProcess函数来结束指定进程。

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


HANDLE定义:

typedef void *HANDLE;


PROCESSENTRY32 ProcessInfo;//定义进程信息变量

其定义如下:

typedef struct tagPROCESSENTRY32
{
    DWORD   dwSize;
    DWORD   cntUsage;
    DWORD   th32ProcessID;          // this process
    ULONG_PTR th32DefaultHeapID;
    DWORD   th32ModuleID;           // associated exe
    DWORD   cntThreads;
    DWORD   th32ParentProcessID;    // this process's parent process
    LONG    pcPriClassBase;         // Base priority of process's threads
    DWORD   dwFlags;
    CHAR    szExeFile[MAX_PATH];    // Path
} PROCESSENTRY32;
为了获取系统中的第一个线程和下一个要用到两个函数:

BOOL
WINAPI
Process32First(
    HANDLE hSnapshot,
    LPPROCESSENTRY32 lppe
    );

BOOL
WINAPI
Process32Next(
    HANDLE hSnapshot,
    LPPROCESSENTRY32 lppe
    );

ProcessInfo.th32ProcessID    进程ID

ProcessInfo.th32ParentProcessID  进程的父进程


杀死进程:

WINBASEAPI
BOOL
WINAPI
TerminateProcess(
    __in HANDLE hProcess,
    __in UINT uExitCode
    );
HANDLE hProcess= OpenProcess( PROCESS_ALL_ACCESS, FALSE,ProcessInfo.th32ProcessID);
				if(::TerminateProcess(hProcess,1))

实现方式如上。







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值