Delphi 为什么参数A进程在枚举进程中设置1024?

Delphi 为什么参数A进程在枚举进程中设置1024?,delphi,process,window,Delphi,Process,Window,我使用EnumProcesses来获取进程,我只发现所有示例集的进程都等于1024或1024*2 [delphi]代码如下: uses PsAPI; var cbNeeded : DWORD; aProcesses : array[0..1024] of DWORD; begin EnumProcesses(@aProcesses, sizeof(aProcesses), &cbNeeded); //use PID do something end; 所以我的问题

我使用EnumProcesses来获取进程,我只发现所有示例集的进程都等于1024或1024*2

[delphi]代码如下:

uses PsAPI;

var
  cbNeeded : DWORD;
  aProcesses : array[0..1024] of DWORD;
begin

  EnumProcesses(@aProcesses, sizeof(aProcesses), &cbNeeded);
  //use PID do something

end;

所以我的问题是为什么将一个进程设置为1024,1024是最大进程数

假设PsAPI使用的是同名的Win32方法(在MSDN中),1024表示试图使用一个大于计算机上一次运行的进程数的数字。如果您查看链接函数的备注,您将看到它显示:

要确定枚举了多少进程,请将pBytesReturned值除以sizeof(DWORD)。当缓冲区太小而无法存储所有进程标识符时,没有给出指示。因此,如果pByTeStRead等于CB,请考虑用较大的数组重试调用。< /P>