○tlhelp32.hを使ったプロセスとPIDの列挙
Windows 95 98 ME 2000 XP で動作しますが、
WindowsNTでは動作しません。
デバッグウインドウに表示されます。
#include <windows.h>
#include <tlhelp32.h>
#include <stdio.h>
BOOL CALLBACK DlgProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hCurInst,HINSTANCE hPrevInst,
LPSTR lpsCmdLine,int nCmdShow ){
PROCESSENTRY32 pe32 = {0};
HANDLE hSnapshot = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if(!hSnapshot) return -1;
pe32.dwSize = sizeof(pe32);
if(!::Process32First(hSnapshot, &pe32)) return -2;
do{
char buff[256]="";
sprintf(buff,"%s %d\n",pe32.szExeFile ,pe32.th32ProcessID);
OutputDebugString(buff);
}while(::Process32Next(hSnapshot, &pe32));
::CloseHandle(hSnapshot);
return 0;
}
▲トップページ
>
Windows と C++