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.

Did you know?Explore Trending and Topic pages for more stories like this.
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

search function
HI guys,

if anyone could point us in the right direction of how to do this, or provide some t

Module pool selction screen parameters combination logic
Hi floks,
Am new to the module pool development ,Recently i have created one program based on

Scrolling news bar and MySQL
I am not sure if this is the correct forum to post this on. If not, I apologize. I am still pretty

login box shows up again after logging in 2nd login works
Hello,

I am having trouble on my site Lockerz.rack111.com where when you login the login box

Adding delete feature to my forum
Hello I am currently trying to add a delete feature to my forum. I believe I have everything built r

How to have a log of all the status a VIM document had been ?
Hi guys,

I’m using SAP Invoice Management plugin and the /OPT/VIM_ANALYTICS transa

Looking for help reading a .txt or .ini file and outputting the info.
I have a file called Info.ini and It has the following info:
Code: [General]
Online=0
I wou

Search with relational database
Hey,

I have quite a complicated (for me anyway ) relational database for an apartments syste

Advice on how to delete a mysql row using my form
Hi,

I am very new to php and am struggling to work out how to delete a portfolio item (a row

IS this code correct
The reason i ask is everything underneath it appears to be alink as well, tis blimmin annoying

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