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

dinamic "textboxes"?
Ey all, my first post here, i hope its not a hard one

I display mysql results in a table

mysq_num_rows
Hi,

I want to use:

Code: if(mysql_num_rows($ergebnis2)==2)
how can the value 2, be

Bluetooth RSSI & VIsta
Okie I got 4 Bluetooth adapters, a DBT-120 by Dlink, A Zonet Microsoft Bluetooth which is what I use

MII Trends - add data onto chart object
Hello,

Can anyone please provide some thoughts on my current requirement:
its pretty

PHP Error
On my .php page I have a drop down box that has several names in it. When a user clicks the name &am

Comparing two dates
Hi Guys
I have two dates I want to compare. Below is my current implementation. The problem with

Most basic form question ever?
Hello,

I want to use this snippet to make sure the fields in a form are ok before processing

Auto install
Hi I have a directory lets say "apps" that I then have more folders ie "email",

Update Database
Hi All,


I have a problem with this:

Code: [Select]<?php
session_start();

HTML form problem
Ive made a form to that i want to send to my email via PHP. but when it send only the name's etc sen

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