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
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