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
17
Other forums
Code working in IE but not FireFox
I created a dynamic navigation list for my website based off of a table in my database. The code is
Display thumbnails as square while retaining aspect ratio
I am trying to figure out a way to make an image display as a square, for example 80x80 pixels, when
code help - pagination
Hi all, I have this code, basically a user logs into my site and they get this page.
The pro
Displaying data from database into a 2 dimensional table
Good day!
I'm a beginner in PHP and I'm not expecting a full coding for this qestion. I'm jus
Display search result
Hi!
I have a SQL database with information about albums and track (music).
This is wh
Contents of variable not echoing
Hey guys, hopefully this is an easy one...
In this line, the variables are not echoing out. T
Wrong Info sent Using $get in form
Hi i have this code that i tried to make to send some info from one page to aother with lots of ppls
php libs/ browsercap.in
ok i have a host that refuses to stay current. they control my php settings and libs. is there a way
PHP onsubmit in the form not going to the fuction.
I have a form through ‘onsubmit’ calling a function validation(). But not going to the
Multi Dimensional Array Append
Hi Guys
I have a function that returns a multidimentional array eg
$result = functio