別のプログラムがファイルの内容を変更する前に、自分のプログラムでファイルのコピーを作成できるようにしたいと考えています。私は FileSystemWatcher を調べましたが、イベントをキャッチまたは防止できることについて何も見ていないので、それが私を助けることができるとは思いません。
私が考えた解決策の 1 つは、プログラムが書き込み権限でファイルを開いたことを検出し、その時点でメモリにコピーを作成することでした。ただし、ファイルが別のプログラムによって開かれたことを検出する方法がわかりません。
希望する結果が不明な場合に備えて、ここに例を示します。オーディオ ファイルは、ディスク容量を節約するために、システム上の複数のユーザーの音楽フォルダーにリンクされます。ユーザーが音楽ファイルのメタデータを変更したり、ファイルにある種のオーディオ効果を適用したりしたい場合、その変更は他のユーザーのコピーに影響を与えるべきではありません。ユーザーは、変更を加えると自動的に自分のコピーを取得する必要があります。