EnumProcesses
2014-04-12 00:58:25
EnumProcesses
检索进程中的每一个进程标识符。
函数原型:
BOOL
WINAPI
EnumProcesses (
DWORD * lpidProcess,
DWORD cb,
DWORD * cbNeeded
);
lpidProcess是保存进程ID的数组。
cb是进程组数lpidProcess的大小。
cbNeeded是返回进程数组的大小。
下面算式可以得出返回了多少进程:
nReturned = cbNeeded / sizeof(DWORD)。
定义个比较大的数组来接收进程IDs,是一个比较好的选择.虽然文档将返回的 DWORD 命名为“pBytesRrturned”,实际上是没有办法知道到底要传多大的数组的。
EnumProcesses()根本不会在 pBytesRrturned 中返回一个大于 cb 参数传递的数组值。结果,唯一确保 EnumProcesses()函数成功的方法是分配一个 DWORD 数组,
并且,如果返回的 cbNeeded 等于 cb,分配一个较大的数组,并不停地尝试直到 cbNeeded 小于 cb
浙公网安备 33010602011771号