Delphi 为什么参数A进程在枚举进程中设置1024?
我使用EnumProcesses来获取进程,我只发现所有示例集的进程都等于1024或1024*2 [delphi]代码如下: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; 所以我的问题
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>