EnumProcessesで、プロセスIDを列挙する。
EnumProcesses function (psapi.h) - Win32 apps | Microsoft Docs
C++でプロセス名からプロセスIDを取得する - 備忘録
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