done
Code:
#include <windows.h>
#include <stdio.h>
#include "psapi.h"
#include <string.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, char * lpCmdLine, int nCmdShow)
{
char szProcessName[MAX_PATH] = "<unknown>";
char separatori[] = " ";
char setipath[MAX_PATH];
double tmp;
char *s;
int attivo;
int inattivo;
char *seti;
char *att;
char *inatt;
seti = strtok( lpCmdLine, separatori );
att = strtok( NULL, separatori );
inatt = strtok( NULL, separatori );
strcpy (setipath, seti);
attivo =(int)atof(att);
inattivo =(int)atof(inatt);
DWORD aProcesses[1024], cbNeeded, cProcesses;
unsigned int i;
if ( !EnumProcesses( aProcesses, sizeof(aProcesses), &cbNeeded ) )
return;
cProcesses = cbNeeded / sizeof(DWORD);
for ( i = 0; i < cProcesses; i++ )
{
HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION |
PROCESS_VM_READ,
FALSE, aProcesses[i] );
if (NULL != hProcess )
{
HMODULE hMod;
DWORD cbNeeded;
if ( EnumProcessModules( hProcess, &hMod, sizeof(hMod),
&cbNeeded) )
{
GetModuleBaseName( hProcess, hMod, szProcessName,
sizeof(szProcessName) );
}
}
if (!strcmp(szProcessName, setipath))
{
printf( "%s (PID: %u)\n", szProcessName, aProcesses[i] );
tmp=(double) aProcesses[i];
sprintf(s,"%g",tmp);
ShellExecute( NULL, "open", "pausep.exe", s, NULL, SW_HIDE );
}
CloseHandle( hProcess );
}
system("PAUSE");
}