获得所有进程可以用EnumProcesses函数:
BOOL WINAPI EnumProcesses(
  DWORD* pProcessIds,
  DWORD cb,
  DWORD* pBytesReturned
);
或者用CreateToolhelp32Snapshot以及相关函数也可以。已经运行的进程是不能直接暂停的,只有线程可以暂停。如果一定要暂停进程,可以用CreateToolhelp32Snapshot相关函数枚举所有线程然后对所有线程调SuspendThread。自己写一个调试器调用DebugBreakProcess函数让进程执行一个int3断点然后挂在进程上也是个办法。远程进程也可以用。