Grazie per la risposta...ma come faccio ad usare le API?
il codice è
codice:
#include<windows.h>
#include<stdio.h>
#include<tlhelp32.h> //trovata su internet, perchè dava errore pure su PROCESSENTRY32 pe32;
void print_system_processes_list(){
PROCESSENTRY32 pe32;
ZeroMemory(&pe32,sizeof(PROCESSENTRY32));
pe32.dwSize = sizeof(PROCESSENTRY32);
int nProcessNameLength = 0;
char lpszProcessNameBuffer[MAX_PATH];
ZeroMemory(lpszProcessNameBuffer,sizeof(char)*MAX_PATH);
char lpszComputerNameBuffer[MAX_PATH];
ZeroMemory(lpszComputerNameBuffer,sizeof(char)*MAX_PATH);
DWORD dwCNB = sizeof(char)*MAX_PATH;
char lpszUserNameBuffer[MAX_PATH];
ZeroMemory(lpszUserNameBuffer,sizeof(char)*MAX_PATH);
DWORD dwUNB = sizeof(char)*MAX_PATH;
GetUserName(lpszUserNameBuffer,&dwUNB);
GetComputerName(lpszComputerNameBuffer,&dwCNB);
printf("\n\nRunning processes on system: %s\n",lpszComputerNameBuffer);
printf("\nCurrent user context: %s\n",lpszUserNameBuffer);
get_longest_process_name_length(&nProcessNameLength);
nProcessNameLength = nProcessNameLength + 3;
printf("\n");
HANDLE hProcSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if(hProcSnapShot == NULL){
DWORD nErr = GetLastError();
printf("Process enumeration failed. Reason: %d\n",nErr);
print_last_error_message(nErr);
}
if(Process32First(hProcSnapShot,&pe32) == TRUE)
{
trim_process_name(pe32.szExeFile,lpszProcessNameBuffer,pe32.th32ProcessID);
strip_extension_from_executable(pe32.szExeFile, lpszProcessNameBuffer);
printf("%s;%d;%d;%d\n",lpszProcessNameBuffer,pe32.th32ProcessID,pe32.th32ParentProcessID,pe32.pcPriClassBase);
while(Process32Next(hProcSnapShot,&pe32) == TRUE)
{
trim_process_name(pe32.szExeFile,lpszProcessNameBuffer,pe32.th32ProcessID);
strip_extension_from_executable(pe32.szExeFile, lpszProcessNameBuffer);
printf("%s;%d;%d;%d;%d\n",lpszProcessNameBuffer,pe32.th32ProcessID,pe32.th32ParentProcessID,pe32.pcPriClassBase,pe32.cntThreads);
}
}
CloseHandle(hProcSnapShot);
}
int main(void)
{
print_system_processes_list();
}
e gli errori sono`get_longest_process_name_length' was not declared in this scope
`print_last_error_message' was not declared in this scope
`trim_process_name' was not declared in this scope
`strip_extension_from_executable' was not declared in this scope
Sto usando g++ (su dev-c++)
Cosa devo includere? Scusate se forse è una domanda banale