3

別のプログラムがファイルの内容を変更する前に、自分のプログラムでファイルのコピーを作成できるようにしたいと考えています。私は FileSystemWatcher を調べましたが、イベントをキャッチまたは防止できることについて何も見ていないので、それが私を助けることができるとは思いません。

私が考えた解決策の 1 つは、プログラムが書き込み権限でファイルを開いたことを検出し、その時点でメモリにコピーを作成することでした。ただし、ファイルが別のプログラムによって開かれたことを検出する方法がわかりません。

希望する結果が不明な場合に備えて、ここに例を示します。オーディオ ファイルは、ディスク容量を節約するために、システム上の複数のユーザーの音楽フォルダーにリンクされます。ユーザーが音楽ファイルのメタデータを変更したり、ファイルにある種のオーディオ効果を適用したりしたい場合、その変更は他のユーザーのコピーに影響を与えるべきではありません。ユーザーは、変更を加えると自動的に自分のコピーを取得する必要があります。

4

1 に答える 1

2

コメントでボリューム シャドウ コピー サービスについて言及してくれた @RaymondChen に感謝します。

これはまさに私が必要とするものです。私の元の投稿の例に戻ります。オーディオファイルがユーザーのディレクトリにリンクされた後、プログラムはボリュームのシャドウコピーを作成できるため、リンクされたファイルを変更した後、プログラムはシャドウコピーを復元し、変更されたファイルをそれぞれのユーザーのディレクトリに移動できます。

于 2012-11-05T18:11:28.173 に答える