Zitat:
Emil es wäre einfacher wenn Du die notwendigen Informationen mitgeben würdest.....
Wie sind Deine Listen definiert?
Ja sorry
Delphi-Quellcode:
procedure CheckProzessID;
var
IntI, K, M: Integer;
vProcList: TProcesses;
proc: TProcess;
bFound: BOOL;
begin
bFound := false;
// ProcList initialisieren
vProcList := TProcesses.Create;
// Prozesse einlesen
vProcList.ReadSystem;
// prüfen ob aktiver prozess existiert
for K := 0 to (vProcList.Count - 1) do
begin
if vProzessID.Find(vProcList[K].ID, proc) then
begin
if proc.ID = vProcList[K].ID then
bFound := true;
end;
end;
if not bFound then
begin
// Timer deaktivieren
KillTimer(HSprMaster, ID_MRENDER);
// Alle Objekte die mit diesen verbunden sind löschen
for M := 0 to Length(AudioVolumeArr) - 1 do
begin
gSprSession.GD_DeleteLinkedObject(succ(ID_BVOLUME) + M);
// TAudioVolume freigeben
AudioVolumeArr[M].free;
end;
// Array löschen
SetLength(AudioVolumeArr, 0);
// Session erstellen
MainClass.CreateSession;
// Window aktualisieren
gSprSession.GI_UpdateWindow(HSprSession, false);
// Timer aktivieren
SetTimer(HSprMaster, ID_MRENDER, 60, nil);
end;
// Prozessliste löschen
vProcList.Clear;
// Prozessliste freigeben
FreeAndNil(vProcList);
end;
vProzessID: TProcesses;
Im Anhang die *.pas mit ihren Möglichkeiten (ist nicht von mir)
gruss