![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Список запущенных процессов [D7, XP]
MSVN © (2006-08-11 10:36:00)Добрый день!
Как например в ComboBox поместить список всех запущенных процессов (как в диспетчере задач)? спасибо!
novill (2006-08-11 14:03:00) [1]Есть и на дельфи
Но хотя бы гуглом надо уметь пользоваться.
Я вот нашел за 9 секунд. Из окторых 0,54 секунды думал гугл.
MSVN (2006-08-11 13:36:00) [2]видите ли я совсем чайник, а это душняк надо.
может на дельфи есть?
novill (2006-08-11 11:24:00) [3]Опять же МСДН, на дельфи думаю переведете...
#include
#include
#include "psapi.h"
void PrintProcessNameAndID( DWORD processID )
{
char szProcessName[MAX_PATH] = "";
// Get a handle to the process.
HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION |
PROCESS_VM_READ,
FALSE, processID );
// Get the process name.
if (NULL != hProcess )
{
HMODULE hMod;
DWORD cbNeeded;
if ( EnumProcessModules( hProcess, &hMod, sizeof(hMod),
&cbNeeded) )
{
GetModuleBaseName( hProcess, hMod, szProcessName,
sizeof(szProcessName) );
}
}
// Print the process name and identifier.
printf( "%s (PID: %u)\n", szProcessName, processID );
CloseHandle( hProcess );
}
void main( )
{
// Get the list of process identifiers.
DWORD aProcesses[1024], cbNeeded, cProcesses;
unsigned int i;
if ( !EnumProcesses( aProcesses, sizeof(aProcesses), &cbNeeded ) )
return;
// Calculate how many process identifiers were returned.
cProcesses = cbNeeded / sizeof(DWORD);
// Print the name and process identifier for each process.
for ( i = 0; i < cProcesses; i++ )
PrintProcessNameAndID( aProcesses[i] );
}
MSVN (2006-08-11 11:16:00) [4]А примерчика нету?
novill (2006-08-11 10:50:00) [5]Как мне кажется, вас для начала заинтерсует winapi функция EnumProcesses...