Checking if a process is running (problems including psapi.dll i think...)


Posted on 16th Feb 2014 07:03 pm by admin

Ok, so all I'm trying to do is check if a program is running...

I've found out that I need to include psapi.dll (to use the EnumProcesses() & GetModuleBaseName() functions)...now, I'm not too knowledgeable with including dll's...but I researched it and believe I have it right.

But for some reason I'm getting this error :/ (I'm using code blocks compiler btw):
Quote: main.cpp|26|error: invalid initialization of non-const reference of type 'DWORD&' from a temporary of type 'DWORD (*)[1024]
I don't really understand this message...although I think it's something to do with my typedef that's attempting to load the DLL function EnumProcesses()...

Anywho, here's my code.

Code: #include #include #include using namespace std; bool proc(string process_name) { //type definition for paspi.lib typedef int (__stdcall *process_dll)(DWORD &processes, DWORD process_size, DWORD &process); //load the psapi library HINSTANCE dll = LoadLibrary("psapi.lib"); process_dll _processes; _processes = (process_dll) GetProcAddress(dll, "EnumProcesses"); if(_processes == 0) { return _processes; } //define process vars DWORD processes[1024], process; //get current processes if(!_processes(&processes, sizeof(processes), &process)) { return false; } //iterate through each process for(unsigned int i = 0; i < process / sizeof(DWORD); i++) { if(processes[i] == 0) { continue; } HANDLE ph = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, 0, processes[i]); char buffer[50]; GetModuleBaseName(ph, 0, buffer, sizeof(buffer)); CloseHandle(ph); if(process_name == (string) buffer) { return true; } } return false; } int main(int argc, char *argv[]) { if(proc("some proc name")) cout << "process is running"; else cout << "process is not running"; return 0; }

Any help would be greatly appreciated

Thanks a lot,

No comments posted yet

Your Answer:

Login to answer
120 Like 17 Dislike
Previous forums Next forums
Other forums

filesize() returns 0
I have a socket program that runs in an infinite loop, listening for connections, in this socket I h

Database 'Validation'
Hi everyone,
I'm trying to validate the password entered by the user with the password in the dat

eregi to preg
Im converting my regex for php 5.3 and I am stuck on the following

Code: [Select]if((eregi(&q

Format timestamp from mysql
When I tried this:
Code: date("m/d/Y H:i A", $row['timestamp'])
I got 12/31/1969 18:

My query is being run with no results.
I have this.

Code: function DropUser($duser_id, $user_email, $user_username) {

making web pages for accounts
Hello, I would like to make pages for accounts on my website im making (its not a real website..im j

Shopping Cart
Can anyone direct me to a Simple, Basic structure of a shopping cart.
New to classes. I want to s

Do While statement
hi guys,

This may sound trivial but im new to php and as part of an assignmenti have to const

PHP webpage & array print issue
I have this code running, and it works perfectly … however, see my bottom bit about what I see

Add User script "Could not execute query"
This should be an easy script but I can't get it to run. Can someone please help me?

<

Sign up to write
Sign up now if you have flare of writing..
Login   |   Register
Follow Us
Indyaspeak @ Facebook Indyaspeak @ Twitter Indyaspeak @ Pinterest RSS



Play Free Quiz and Win Cash