EnumProcesses

EnumProcessesで、プロセスIDを列挙する。

EnumProcesses function (psapi.h) - Win32 apps | Microsoft Docs
C++でプロセス名からプロセスIDを取得する - 備忘録

psapi.libをリンク
psapi.libをリンク

psapi.libをリンク。

cbNeededで得られるのは必要な配列の全体サイズなので、要素数となるとDWORDのサイズで割るのがちょっとめんどくさい。

sizeof(dwProcessIds) = 4096
cbNeeded = 236
dwNum = 59
dwProcessIds[0] = 0
dwProcessIds[1] = 4
dwProcessIds[2] = 236
dwProcessIds[3] = 308
dwProcessIds[4] = 356
dwProcessIds[5] = 364
dwProcessIds[6] = 392
dwProcessIds[7] = 452
dwProcessIds[8] = 460
dwProcessIds[9] = 468
dwProcessIds[10] = 556
dwProcessIds[11] = 632
dwProcessIds[12] = 720
dwProcessIds[13] = 764
dwProcessIds[14] = 796
dwProcessIds[15] = 836
dwProcessIds[16] = 280
dwProcessIds[17] = 1076
dwProcessIds[18] = 1108
dwProcessIds[19] = 1184
dwProcessIds[20] = 1232
dwProcessIds[21] = 1372
dwProcessIds[22] = 1396
dwProcessIds[23] = 1468
dwProcessIds[24] = 1540
dwProcessIds[25] = 1604
dwProcessIds[26] = 304
dwProcessIds[27] = 2032
dwProcessIds[28] = 2060
dwProcessIds[29] = 2440
dwProcessIds[30] = 2460
dwProcessIds[31] = 2492
dwProcessIds[32] = 2524
dwProcessIds[33] = 2644
dwProcessIds[34] = 2796
dwProcessIds[35] = 2340
dwProcessIds[36] = 2856
dwProcessIds[37] = 2676
dwProcessIds[38] = 3544
dwProcessIds[39] = 4056
dwProcessIds[40] = 3956
dwProcessIds[41] = 4068
dwProcessIds[42] = 2436
dwProcessIds[43] = 3536
dwProcessIds[44] = 3600
dwProcessIds[45] = 3580
dwProcessIds[46] = 1964
dwProcessIds[47] = 4216
dwProcessIds[48] = 4452
dwProcessIds[49] = 4568
dwProcessIds[50] = 5156
dwProcessIds[51] = 1180
dwProcessIds[52] = 5588
dwProcessIds[53] = 5284
dwProcessIds[54] = 4108
dwProcessIds[55] = 5720
dwProcessIds[56] = 3904
dwProcessIds[57] = 1532
dwProcessIds[58] = 5960
続行するには何かキーを押してください . . .

とりあえずプロセスIDは列挙できた。

Sample/winapi/EnumProcesses/EnumProcesses/src/EnumProcesses at master · bg1bgst333/Sample · GitHub