在Win8.1中,相比Win8新增了一组名为"进程快照"的API,是文档化的东西,它可以帮助我们在一个时间获取进程的某些信息,比如线程,句柄,CPU周期性能等数据,以便进行APP的性能分析和存储到文件等调试类帮助。
具体请看下面代码:
#include <Windows.h>
#include <ProcessSnapshot.h>
VOID WINAPI testThr(PVOID pv)
{
WaitForSingleObjectEx(GetCurrentThread(),INFINITE,FALSE); //线程永远挂起,不会退出
}
void main()
{
CHAR szBuffer[MAX_PATH] = {};
CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)&testThr,NULL,0,NULL); //创建一个线程,现在当前进程有2个线程
HPSS hPssHandle = NULL;
if (PssCaptureSnapshot(GetCurrentProcess(),PSS_CAPTURE_THREADS|PSS_CAPTURE_THREAD_CONTEXT|PSS_CAPTURE_THREAD_CONTEXT_EXTENDED,0,&hPssHandle) == ERROR_SUCCESS)
{
CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)&testThr,NULL,0,NULL); //再创建一个线程,现在当前进程有3个线程
PSS_THREAD_INFORMATION pssThread = {};
PssQuerySnapshot(hPssHan