Hallo, kommt darauf an ob Du den Process selbst startest oder nicht. Wenn Du z.B. Mit CreateProcess() ein Programm startest, kannst Du die Struktur "LPPROCESS_INFORMATION" auswerten. Sonst: alle Processe auflisten und vergleichen. Da das Thema schon oft behandelt wurde: "Suche" nutzen. -- "Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."
Bis dann... UweDieser Post wurde am 26.10.2003 um 10:31 Uhr von Uwe editiert.
Sorry, ich finde keinen Eintrag mit dem ich was anfangen kann... da ist einer mit nem link zu einem "EnumProcessTest" Projekt, mit dem ich aber nichts anfangen kann da ich das programm nicht mal in seiner urform kompilieren kann (psapi.h wird nicht gefunden). Sonst sieht der Code gar nicht schlecht aus, ich kann ihn nur ohne die headerdateien von dem projekt nicht nutzen:
Code:
int main(void) { CEnumProcess enumeration; enumeration.SetMethod(m_enumMethod); CEnumProcess::CProcessEntry entry;
CString s;
for (BOOL OK = enumeration.GetProcessFirst(&entry); OK; OK = enumeration.GetProcessNext(&entry) ) { if(entry.lpFilename == "test.exe") { cout>>"Found Programm running...\n"; } } return 0; }
Das würde mir schon reichen, geht nur so nicht. Kann mir jemand sagen wie ich darankomme?Dieser Post wurde am 26.10.2003 um 13:18 Uhr von Luke editiert.
do{ if(!strcmp(proc.szExeFile,"test.exe")) ++flag; }while(Process32Next(hSysSnapshot,&proc)); //wenn flag!=0 ist läuft der prozess flag mal sonst nicht wenn du nur wissen willst ob es überhaupt einmal läuft dann so verwenden while(!flag && Process32Next(hSysSnapshot,&proc));
-- ...fleißig wie zwei WeißbroteDieser Post wurde am 26.10.2003 um 13:23 Uhr von Windalf editiert.
Service Pack 5 ist leider auch nicht auf dem aktuellen Stand . Hast du in den Projekteinstellungen eine der Multithreaded Laufzeitbibliotheken ausgewählt?
Projekt->Einstellungen-> Reiter C++ -> CodeGeneration-> Laufzeitbibliothek= Multithreaded Dll.
Auf jeden Fall stimmt irgendwas mit deinen Projekteinstellungen nicht! Wenn du mit mehreren Threads arbeiten möchtest brauchst du auch eine von den Multithreaded Laufzeitbibliotheken.Hast du auch mal Multithreaded probiert? Was ist den in der Debugkonfiguration für ne Laufzeitbibliothek? -- if(lesen) wissen++;
Multithreaded hab ich probiert, ging auch nicht... Wie bekomme ich raus welche bibliotheken beim debuggen bentzt werden? Sind das nicht die selben? Was bedeutet eigentlich "Multithreaded" und wozu muss ich das für dieses Programm benutzen? Bisher brauchte ich das auch nicht...