Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Detect if a process is running

Name: Anonymous 2007-04-26 0:41 ID:BFlCOmid

How do you detect if a process is running by its name in Windows? In other words be able to input "program.exe" into a function and have it say if it is running.

Preferably in C++, but alternate languages are ok.

Name: Anonymous 2007-04-26 0:48 ID:nZdjvEMJ

system("tasklist /FI \"IMAGENAME eq services.exe\"");

o shi?

Name: Anonymous 2007-04-26 1:00 ID:CSR6QgjJ

Okay, I'm supposing that in practice you wouldn't hardcode the string, but instead build it with snprintf() or similar... now try that with a "program" named cmd.exe\" & deltree c:\ & echo \".

Never use system() unless you're 200% sure that the code you give it won't do anything harmful.

Name: Bill Gates 2007-04-26 1:32 ID:HeyOSUq1

WMI OR GTFO

Name: Anonymous 2007-04-26 1:37 ID:CSR6QgjJ

>>4
ID:HeyOSUq1

whoa

Name: Anonymous 2007-04-26 2:21 ID:BFlCOmid

>>2
I'm not talking about a service. Like detect if firefox.exe is running.

Name: Anonymous 2007-04-26 4:43 ID:HeyOSUq1

kernel mode device driver

Name: Anonymous 2007-04-26 4:51 ID:zeqRwc7V

This is adapted from a program I use to do some in-memory patching of a particular process.


// returns number of processes of specified name running
// or -1 if error
int process_running_count(char * processname)
{
  int process_count = 0;
  HANDLE snapshot;
  PROCESSENTRY32 pe;

  snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);

  pe.dwSize = sizeof(PROCESSENTRY32);
  if(Process32First(snapshot, &pe)==FALSE)
    return -1;

  do {
    if (_stricmp(process_name, pe.szExeFile)==0) // case insensitive comparison
      process_count++;
  } while(Process32Next(snapshot, &pe)!=FALSE);

  return process_count;

}

Name: Anonymous 2007-04-26 5:52 ID:MDDbqk0v

>>4
Lol

>>6
ps | grep
Then again this is not the enterprise way to do it.

Name: Anonymous 2007-04-26 8:01 ID:wtUpCosv

>>9
pgrep, motherfucker, do you use it?

Name: Anonymous 2007-04-26 9:56 ID:MDDbqk0v

>>10
I'm old Unix man

Name: Anonymous 2007-04-26 11:57 ID:kcfI7z/A

>>9
>>10

He specifically asked for a function for Windows, you wankers.

Name: Anonymous 2007-04-26 12:44 ID:Heaven

>>12
cygwin, you wanker.

Name: Anonymous 2007-04-26 12:55 ID:Heaven

easiest way: figure out the window class name instead and use FindWindow(className, NULL, NULL, NULL, NULL, NULL, NULL etc)

second easiest way: >>8

Name: Anonymous 2007-04-26 13:28 ID:j4dUSbyK

>>14
More like FindWindowByClassNameThatIAmGivingAsTheFirstParameter(className, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL NULL, NULL, NULL, NULL, NULL, NULL);
amirite

Name: Anonymous 2007-04-26 13:36 ID:Heaven

>>15

THE FORCED NULL PARAMETERS IN FUNCTIONS, THREAD OVER

Name: Anonymous 2007-04-26 14:16 ID:dcbxX8a/

>>13

The OP wants to write a function that accepts a program name and lets him know if it's running on the system. Your suggestion implies that he should link his program against the cygwin library and also have ps and grep binaries installed just to do this.

That is just retarded when there are perfectly good Win32 functions that will do what he wants. (As >>8 described)

Name: Anonymous 2007-04-26 14:22 ID:Heaven

>>17
win32 is made of aids and fail.

Name: Anonymous 2007-04-26 14:28 ID:a+gZA7/+

>>17
That is just retarded when there are perfectly good Win32 functions that will do what he wants. (As >>15 described)

Fixed.

Name: Anonymous 2007-04-26 14:30 ID:quQoxSX0

>>23

wow, you sound gay.

Name: Anonymous 2007-04-26 15:38 ID:WHi6wCZ6

>>16
I LOLD

Name: Anonymous 2007-04-26 16:05 ID:Heaven

Name: Anonymous 2007-04-26 16:05 ID:a+gZA7/+

LET'S SOUND GAY!

Name: Anonymous 2007-04-26 17:16 ID:n2ub3PLr

NOW IN COLOR!!

Name: Anonymous 2007-04-26 17:32 ID:D2Y5oeJV

Hey, I've done this! In Python, no less! Let me dig up some code.

Aww fuck it, I replaced it with code to list the cpu and memory usage of a given process, and I can't be assed to pick the right revision from svn...

Name: Anonymous 2007-04-26 18:13 ID:CSR6QgjJ

>>25
THE FORCED INDENTATION OF THREADS, PROCESS OVER

Name: Anonymous 2007-04-26 21:13 ID:dcbxX8a/

You all fucking fail it

Name: Anonymous 2007-04-26 21:49 ID:CSR6QgjJ

>>27 fails it

Name: Anonymous 2007-04-26 22:01 ID:j4dUSbyK

You are all idiots, you need to understand that when NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL

Name: Anonymous 2007-04-26 22:50 ID:8kuJsb94

NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULLNULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULLNULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULLNULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULLNULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULLNULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULLNULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULLNULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULLNULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULLNULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULLNULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULLNULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULLNULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULLNULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULLNULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULLNULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULLNULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULLNULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULLNULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULLNULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULLNULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULLNULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULLNULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,

Name: Anonymous 2007-04-26 23:09 ID:CSR6QgjJ

>>30
The fuck is NULLNULL?
Is that like NULL, but twice as empty?

Name: Anonymous 2007-04-27 2:27 ID:ba4YuH2S

>>31
It's NULL in base 16 00

Name: Anonymous 2007-04-27 2:31 ID:+l1fc+DL

>>8
I got it working and is doing everything it should. Thanks a bunch.

Name: Anonymous 2007-04-27 3:29 ID:tzTh/yr6

>>31
Super NULL.  Twice as not there as a reglar NULL.

Name: Anonymous 2007-04-27 3:35 ID:x619snGk

>>34
This is the stupidest thread that I have NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL

Name: Anonymous 2007-04-27 3:42 ID:WkynM8KE

Alan Touring is Touring complete. He can move across his bike in a (theoretically) infinite
road in either direction. He has memory. In each ride, he can
pedal, take a dump, or sleep at a brothrel.

Name: Anonymous 2007-04-27 4:19 ID:fykh6Csa

Alan Touring is Touring complete. He can move across his bike in a (theoretically) infinite road in either direction. In each ride he can rape you in the butt, take a dump, or sleep with his brother.

Name: Anonymous 2007-04-27 4:48 ID:Heaven

>>37
thats horribly disrespectful..

Name: Anonymous 2007-04-27 5:51 ID:FFV0r2Vu

Wait. How do you know if the program.exe is the same program.exe you think it is when you check if it is running?

This depends on what exactly you're trying to accomplish. If you're just doing something for yourself for the sake of convenience, you're probably fine to just test for a running process named program.exe.

But if this is something you plan to distribute, or part of some program that needs to be aware of some other running program, you'll probably need something more robust. For example if this is some kind of protection scheme (lol good luck with that), then if you just checked for a running program.exe, I might as well just make up my own no-op program named program.exe that does nothing but sleep, and keep your shitware happy.

That might also be a concern even if you aren't trying to make some backward security scheme. Even if you are just doing this for convenience, you should be aware that a program image name is not a unique identifier for a program.

Name: Anonymous 2007-04-27 6:57 ID:Heaven

>>38

Well, he was homogeneous.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List