|
// *********************************************************
// リストボックスにプロセス一覧を追加
// 戻り値 : 無し
// *********************************************************
void LboxEnumProcess( HWND hList, int nIndex )
{
HANDLE hSnapshot;
PROCESSENTRY32 pe;
BOOL bRet;
LPTSTR szBuffer;
szBuffer = new char[512];
hSnapshot = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
if ( hSnapshot != (HANDLE)-1 ) {
ZeroMemory( &pe, sizeof(PROCESSENTRY32) );
pe.dwSize = sizeof(PROCESSENTRY32);
bRet = Process32First( hSnapshot, &pe );
while( bRet ) {
wsprintf( szBuffer, "%08lX", (DWORD)pe.th32ProcessID );
lstrcat( szBuffer, "\t" );
wsprintf( szBuffer+lstrlen(szBuffer), "%s", pe.szExeFile );
LboxListInsert( hList, nIndex, szBuffer );
nIndex++;
ZeroMemory( &pe, sizeof(PROCESSENTRY32) );
pe.dwSize = sizeof(PROCESSENTRY32);
bRet = Process32Next( hSnapshot, &pe );
}
CloseHandle( hSnapshot );
}
delete [] szBuffer;
}
| |