Process32First function (tlhelp32.h)

Retrieves information about the first process encountered in a system snapshot.


BOOL Process32First(
  [in]      HANDLE           hSnapshot,
  [in, out] LPPROCESSENTRY32 lppe


[in] hSnapshot

A handle to the snapshot returned from a previous call to the CreateToolhelp32Snapshot function.

[in, out] lppe

A pointer to a PROCESSENTRY32 structure. It contains process information such as the name of the executable file, the process identifier, and the process identifier of the parent process.

Return value

Returns TRUE if the first entry of the process list has been copied to the buffer or FALSE otherwise. The ERROR_NO_MORE_FILES error value is returned by the GetLastError function if no processes exist or the snapshot does not contain process information.


The calling application must set the dwSize member of PROCESSENTRY32 to the size, in bytes, of the structure.

To retrieve information about other processes recorded in the same snapshot, use the Process32Next function.


For an example, see Taking a Snapshot and Viewing Processes.


Requirement Value
Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header tlhelp32.h
Library Kernel32.lib
DLL Kernel32.dll

See also



Process Walking


Tool Help Functions