Autor Beitrag
Flamefire
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1207
Erhaltene Danke: 31

Win 10
Delphi 2009 Pro, C++ (Visual Studio)
BeitragVerfasst: Do 15.10.09 21:58 
Ich habe eine Datei, die ich unbedingt verändern möchte. Dummerweise greift ein Prozess gerade auf die Datei zu (ebenfalls mit CreateFile aber im exklusiv modus)
Da ich weiß, dass der Prozess die Datei nur liest und dass auch nicht die ganze Zeit, sollte es keine Probleme geben.
Ich muss lediglich eine Stelle in der Datei ändern (Von der ich auch sicher sein kann, dass sie nicht gerade gelesen wird)

Kann ich das irgendwie erzwingen ohne den Prozess zu beeinflussen?
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 15.10.09 22:38 
Ich würde sagen nein. Exklusiv geöffnet, ist exklusiv geöffnet. Könnte man das umgehen, hätte der Flag ja keinen Sinn.
Flamefire Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1207
Erhaltene Danke: 31

Win 10
Delphi 2009 Pro, C++ (Visual Studio)
BeitragVerfasst: Fr 16.10.09 12:30 
tja ist halt die frage: SOLLTE man eine exklusiv geöffnete datei nicht nochmal öffnen oder KANN man es nicht?
vlt nicht über die gleiche funktion, sondern über einen umweg...
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 16.10.09 13:11 
Man kann nicht und soll auch nicht. Das Programm wird schon seinen Grund haben sie exklusiv zu öffnen.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 17.10.09 11:32 
Es geht zwar, aber erstens ist es ziemlich aufwändig und zweitens nicht zu empfehlen. Aber möglich wäre es, wenn du die Zugriffe hookst und CreateFile usw. einfach auf eigene Funktionen umleitest. Das musst du natürlich auch mit allen Lese- und Schreibzugriffen machen (oder du veränderst die Flags einfach, so dass die Datei nicht exklusiv geöffnet wird).