Speicherleck
-
Hallo,
ich kontrolliere über ein Timergesteuerte Funktion alle 5 Sekunden ob ein bestimmter Prozess im TAskmanager noch läuft.
Durch diese Aktion wird der verfügbare Speicher immer weniger ...
Kann mir da bitte jemand weiterhelfen ?
Hier die vorgehensweise://SetTimer(1, 5000,NULL) in der OnInitDialog OnTimer(UINT nTimerID) { ControlProc("MyExe.exe"); } //Die Funktion: proc1.dwSize = sizeof(proc1); //holen des Handles auf die momentanen Systemprozesse hSysSnapshot = CreateToolhelp32Snapshot ( TH32CS_SNAPPROCESS, 0 ); Process32First(hSysSnapshot,&proc1); proc1.dwSize = sizeof(proc1); do { act_proc_name = proc1.szExeFile; if(proc.Compare(act_proc_name) == 0)//proc läuf { pid = 1; } }while(Process32Next(hSysSnapshot,&proc1)); if(pid == 0)//proc läuft nicht { WinExec("My.exe",1); }Wo liegt hier der Fehler ?
-
CreateToolhelp32Snapshot
To destroy the snapshot, use the CloseHandle function.wenn die funktion create... heisst solltest du immer auf sowas achten