但是在 CE 裡面這些 function 好像不 support。
CodeGuru 這一篇文章有 example,藥用 CreateToolhelp32Snapshot( )。
OS 要有 Core OS Services 的 Debugging Tools 的 Toolhelp API
MSDN 這一篇有說明 (要 toolhelp.lib)
sample code 是:
#include "stdafx.h"
#include <windows.h>
#include <commctrl.h>
#include <windows.h>
#include <tlhelp32.h>
#include <stdio.h>
int _tmain(int argc, _TCHAR* argv[])
{
PROCESSENTRY32 pe32 = { 0 };
HANDLE hProcSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if(hProcSnap == INVALID_HANDLE_VALUE)
return 0;
pe32.dwSize = sizeof(PROCESSENTRY32);
if(Process32First(hProcSnap,&pe32))
{
do{
wprintf(L"PID:%9d NAME: %s\r\n", pe32.th32ProcessID, pe32.szExeFile);
}while(Process32Next(hProcSnap, &pe32));
}
CloseHandle(hProcSnap);
return 0;
}
輸出的結果是:
PID: 4194306 NAME: NK.EXE
PID: 30736390 NAME: udevice.exe
PID: 41418754 NAME: udevice.exe
PID: 62521346 NAME: udevice.exe
PID: 79429634 NAME: udevice.exe
PID: 92995586 NAME: servicesd.exe
PID: 82313222 NAME: explorer.exe
PID: 97910798 NAME: enumallprocessconsole.exe