void GetProcess(bool theFirst) { DWORD aProcesses[1024], cbNeeded, cProcesses; unsigned int j; !EnumProcesses(aProcesses, sizeof(aProcesses), &cbNeeded); cProcesses = cbNeeded / sizeof(DWORD); for (j = 0; j < cProcesses; j++) { if (aProcesses[j] != 0) { PrintProcessNameAndID(aProcesses[j],theFirst); } } }
std::list<int> ProcessControl::getPidProcessByName(std::string name) { std::list<int> result; qDebug() << "ProcessControl::getPidProcessByName: Begin:"; #ifndef WIN32 QProcess myprocess; std::string command = std::string("ps -C ")+name+std::string(" -o pid --no-heading"); qDebug() << "ProcessControl::getPidProcessByName: comando solicitado:" << command.c_str(); myprocess.start(command.c_str()); if (!myprocess.waitForFinished()) return result; while (!myprocess.atEnd()) { char buf[16]; qint64 length = myprocess.readLine(buf,sizeof(buf)); if (length != -1) { QString mystring(buf); result.push_back(mystring.toInt()); } else break; } #else DWORD aProcesses[1024], cbNeeded, cProcesses; if ( !EnumProcesses( aProcesses, sizeof(aProcesses), &cbNeeded ) ) return result; // Calculate how many process identifiers were returned. cProcesses = cbNeeded / sizeof(DWORD); for ( int i = 0 ; i < cProcesses; i++) { if (aProcesses[i] != 0) { std::wstring nombre = PrintProcessNameAndID( aProcesses[i] ); std::string temp; std::copy(nombre.begin(), nombre.end(), std::back_inserter(temp)); qDebug() << "ProcessControl::getPidProcessByName: New pid name" << aProcesses[i] << temp.c_str(); if (QString(temp.c_str()).toLower()==QString(name.c_str()).toLower()) { qDebug() << "ProcessControl::getPidProcessByName: found proccess"; result.push_back((int)aProcesses[i]); } } } #endif return result; }
DWORD PrintAllProcess( FILE * fp ) { DWORD aProcesses[1024], cbNeeded, cProcesses; unsigned int i; if ( !EnumProcesses( aProcesses, sizeof(aProcesses), &cbNeeded ) ) return 0 ; // Calculate how many process identifiers were returned. cProcesses = cbNeeded / sizeof(DWORD); // Print the name and process identifier for each process. printf( "ID MEM \tMODULE\n" ); if( cProcesses > 0 ) for ( i = 0; i < cProcesses; i++ ) if( aProcesses[i] != 0 ) PrintProcessNameAndID( aProcesses[i], fp ) ; return cProcesses ; }
void main() { DWORD aProcesses[1024]; DWORD cbNeeded; DWORD cProcesses; unsigned int i; EnumProcesses(aProcesses, sizeof(aProcesses), &cbNeeded); cProcesses = cbNeeded / sizeof(DWORD); for (i = 0; i < cProcesses; i++) { if (aProcesses[i] != 0) { PrintProcessNameAndID(aProcesses[i]); } } getchar(); }
void main( ) { // Get the list of process identifiers. DWORD aProcesses[1024], cbNeeded, cProcesses; unsigned int i; if ( !EnumProcesses( aProcesses, sizeof(aProcesses), &cbNeeded ) ) return; // Calculate how many process identifiers were returned. cProcesses = cbNeeded / sizeof(DWORD); // Print the name and process identifier for each process. for ( i = 0; i < cProcesses; i++ ) PrintProcessNameAndID( aProcesses[i] ); }
int main() { while(true) { SYSTEMTIME sys_time; GetSystemTime(&sys_time); _tprintf( TEXT("%d-%02d-%02dT%02d:%02d:%02dZ\n"), sys_time.wYear, sys_time.wMonth, sys_time.wDay, sys_time.wHour, sys_time.wMinute, sys_time.wSecond); DWORD aProcesses[1024]; DWORD cbNeeded; if ( !EnumProcesses( aProcesses, sizeof(aProcesses), &cbNeeded ) ) { return 1; } else { DWORD cProcesses = cbNeeded / sizeof(DWORD); for (unsigned int i = 0; i < cProcesses; ++i) { if( aProcesses[i] != 0 ) { PrintProcessNameAndID( aProcesses[i] ); } } } _tprintf( TEXT("\n") ); Sleep(60 * 1000); } return 0; }
/////////////////////////////////////////////////////// ///function to get running processes std::map<std::string,int> ProcessFinder::getProcesses() { // Get the list of process identifiers. DWORD aProcesses[1024], cbNeeded, cProcesses; unsigned int i; if ( !EnumProcesses( aProcesses, sizeof(aProcesses), &cbNeeded ) ) { return processes; } // Calculate how many process identifiers were returned. cProcesses = cbNeeded / sizeof(DWORD); // Print the name and process identifier for each process. for ( i = 0; i < cProcesses; i++ ) { if( aProcesses[i] != 0 ) { PrintProcessNameAndID( aProcesses[i] ); } } return processes; }