Autor Beitrag
Da_Knuddelbaer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 485



BeitragVerfasst: Fr 04.08.06 10:57 
Hi zusammen.

Ich kenne mich in diesem Gebiet leider nicht so aus, deswegen hoffe ich auf eure Hilfe:
Bei Titan Quest gibt es eine Speicher-Funktion, die eine Datei "Player.chr" öffnet, editiert und halt wieder schließt. Jetzt wird aber auch immer wieder gespeichert, OHNE dass man auf "Speichern" geklickt hat. Und das geht dann meistens schief.

Denn sobald ich Titan Quest schließe und dann versuche, die Player.chr zu öffnen, kommt da eine Meldung, dass die Datei bereits von einem anderen Prozess verwendet wird. Ich habe die Prozesse vor dem erstmaligem Starten von TQ und NACH Beenden von demselben verglichen, und es sind exakt die gleichen. Lediglich die Speicher-Nutzung ist nicht gleich, was ja aber auch an anderen Programmen noch liegen kann, wie explorer.exe und so.
Da der Prozess nicht angezeigt wird, spricht man (soweit ich weiß) von einem Deamon-Prozess. Und diesen mir unbekannten Prozess würde ich jetzt gerne abschießen. Und zwar einfach ohne Gnade.
Daher, sobald das dann passiert ist, kann ich soviel speichern wie ich will, aber an der "Player.chr" tut sich gar nichts. Und das passiert in unregelmäßigen Abständen. Mal nach 30 Minuten, mal nach 3 Stunden, öfters aber so bei rund einer Stunde.

Ich habe mir schon ein Programm geschrieben, was ich im Hintergrund laufen lasse und einfach die Datei selbst blockiert. Ich muss dann halt nur immer mit Alt+Tab hin und her springen, die Datei freigeben und wieder schließen etc. um effektiv speichern zu können und bisher hat es selbst bei 8 Stunden durchgehende Spielzeit keine Probleme gemacht. Es wurde immer brav gespeichert.

Besser fände ich es, wenn mein Programm einfach im Hintergrund läuft, den Deamon-Prozess alle paar Minuten sucht und diesen dann einfach killt.

Geht das überhaupt, ohne das System instabil zu machen? Weiß jemand da einen Tipp für mich, wie ich das realisieren könnte?

Danke schonmal :-)

Gruß,
Knuddelbaer
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Fr 04.08.06 14:16 
Siehe Process Explorer von SysInternals ... Der kann das. Wie das geht, ist aber etwas aufwändiger und Mit Delphi nur schwer realisierbar (sofern man die Mittel nicht hat).

BTW: Normalerweise sollte man zwischen Dämonen und Zombies sehr gut unterscheiden ;-) Daemons = Prozesse die im Hintergrund (nützliche) Aufgaben erfüllen, Zombies = Prozesse ohne Eigentümer.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.