![]() |
|
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
Newbie
Join Date: Jul 2004
Location: Blacksburg, VA
Posts: 13
Rep Power: 0
![]() |
Windows API: How to obtain a list of currently running processes.
Haven't posted in a while, figured I'd give you guys something from my personal code stash I've built up over the years.
It wouldn't let me create a new thread in the tutorials section, so I've posted it here...Here's a little piece of code that'll get the exe name for each running process. You'll need to include windows.h. HANDLE hSnapShot=NULL;
HANDLE hResult = NULL;
PROCESSENTRY32 processInfo;
char* pstrExeName;
bool bFirst = true;
::ZeroMemory(&processInfo, sizeof(PROCESSENTRY32));
processInfo.dwSize = sizeof(PROCESSENTRY32);
hSnapShot = CreateToolhelp32Snapshot(
TH32CS_SNAPPROCESS, 0);
if(hSnapShot == INVALID_HANDLE_VALUE)
return NULL;
while((bFirst ? Process32First(hSnapShot,
&processInfo) : Process32Next(hSnapShot,
&processInfo)))
{
bFirst = false;
pstrExeName = strrchr(processInfo.szExeFile, '\\');
if(!pstrExeName)
pstrExeName = processInfo.szExeFile;
else
pstrExeName++;
// Do whatever you want with the name here. In my
// BPK program it puts the string in the listbox on the left
}
if(hSnapShot)
CloseHandle(hSnapShot);For an example of this piece of code in action, see my process utility here: http://www.freewebs.com/wombatex/bpk.htm |
|
|
|
|
|
#2 |
|
Hobbyist
Join Date: Sep 2005
Posts: 259
Rep Power: 3
![]() |
I haven't looked at you program but it sounds very similar some something I made a whill back. There is another resent thread in here that shows how to list all processes the non toolhelp way. MSDN also has well a commented example for this approach.
Also, I think you forgot to mention to include: tlhelp32.h |
|
|
|
|
|
#3 |
|
Newbie
Join Date: Jul 2004
Location: Blacksburg, VA
Posts: 13
Rep Power: 0
![]() |
Yeah, my bad, forgot the toolhelp header. I think I pieced this together from MSDN code about a year or so ago, so that's why it uses toolhelp.
|
|
|
|
|
|
#4 |
|
Programming Guru
![]() Join Date: Jun 2005
Location: elemental plane
Posts: 1,429
Rep Power: 5
![]() |
What's the difference between the toolhelp (snapshot) way and the other way?
__________________
"Employ your time in improving yourself by other men's writings, so that you shall gain easily what others have labored hard for." -- Socrates |
|
|
|
![]() |
| Bookmarks |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|