Programming Forums
User Name Password Register
 

RSS Feed
FORUM INDEX | TODAY'S POSTS | UNANSWERED THREADS | ADVANCED SEARCH

 
 
Thread Tools Display Modes
Prev Previous Post in Thread   Next Post in Thread Next
Old Feb 23rd, 2006, 11:09 PM   #1
CodeWeasel
Newbie
 
Join Date: Jul 2004
Location: Blacksburg, VA
Posts: 13
Rep Power: 0 CodeWeasel is on a distinguished road
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);
Enjoy!

For an example of this piece of code in action, see my process utility here: http://www.freewebs.com/wombatex/bpk.htm
CodeWeasel is offline   Reply With Quote
 

Bookmarks

« Previous Thread in Forum | Next Thread in Forum »

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump




DaniWeb IT Discussion Community
All times are GMT -5. The time now is 8:42 AM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC