0

ユーザーがファイルを特定のフォルダーにコピーすると、アプリケーションがアクティブ化されてファイルが変更されるアプリケーションを作成する必要があります。また、ユーザーがフォルダー内のファイルを読み戻すと、ファイル。

出来ますか?

これには.netを使用します。

フォルダC:\ WINDOWS \ assemblyはどういうわけかこのようなものだと思いますか?

どんな助けでもありがたいです!ありがとう!

4

4 に答える 4

1

それを行うエクスプローラ拡張機能を作成できると確信していますが、私が知っているより一般的な方法は、FileSystemWatcher クラスを使用して問題のディレクトリを監視し、イベントを監視する Windows サービスを作成することです。その後、サービスは要求されたアクションを実行できます (または、それを行う実行可能ファイルを生成します)。

私が気づいた 1 つの注意点は、一度に多くのアクティビティが発生した場合にファイル ウォッチャーがイベントを見逃すことがあるということです (.net 2.0 の時点で - 3.5 をチェックしていません)。

この方法を使用する場合は、変更通知を受け取ったときに、filewatcher の指示に頼るのではなく、自分でディレクトリの内容を確認してください。何も見逃さないようにするためだけに、filewatcher イベント処理とまれなポーリングを組み合わせることになりました。

于 2008-11-28T17:26:43.420 に答える
1

FileSystemWatcher を使用するサービスを使用して、フォルダーにファイルをコピーしているユーザーを検出できます。アプリがファイルを読み取るときにファイルの内容を変更するには、オペレーティング システムにパッチを適用するバイラル手法が必要です。ルートキットやファイル システム フィルター ドライバーのようなものです。検討することをお勧めするものではありません。ファイルを作成した後に変更してください。

c:\windows\assembly には GAC が含まれています。.NET は、フォルダーの内容を隠すシェル拡張ハンドラーをインストールします。それ以外の場合、フォルダーは非常にアクセス可能です。シェル拡張ハンドラーは、Windows エクスプローラーでフォルダーを表示した場合にのみ機能します。.NET を使用してシェル拡張ハンドラーを作成することは、Microsoft によって強く推奨されていません。フレームワークも完全にサポートされていません。

于 2008-11-28T17:35:30.750 に答える
0

FileSystemWatcherで変更を監視できます。

ディレクトリ全体とその内容、または特定のディレクトリ内の特定のファイルまたは一連のファイルを監視するようにコンポーネントを構成できます。FileSystemWatcher コンポーネントは、指定されたルート ディレクトリ内のファイルまたはサブディレクトリが作成、削除、名前変更、またはその他の方法で変更されるたびに、イベントを発生させます。コンポーネントが監視する変更の種類には、ファイルまたはサブディレクトリの属性、サイズ、最終書き込み時間、最終アクセス時間、およびセキュリティ設定の変更が含まれます。

于 2008-11-28T17:27:47.663 に答える
0

.net で得られる最も近いものは FileSystemWatcher クラスです。これは変更 (作成と書き込み) を監視しますが、読み取りアクティビティは監視しません。

多くのサンプルがオンラインおよび MSDN にあります

http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx

于 2008-11-28T17:28:52.433 に答える