0

このReadDirectoryChangesW の実装を使用して、デスクトップへの変更を監視しています。私のプログラムは、デスクトップにファイルが作成されたときにいくつかの小さなプログラムを実行する予定です。

今私が直面している問題は、右クリックのコンテキスト メニュー ReadDirectoryChangesW を使用して新しいショートカットを作成すると、ファイルが作成されたという通知が表示されますが、ファイルが削除されたという別の通知が表示された直後です。Windows Vista 以来、この問題に遭遇しています。

何が間違っているのか誰にも分かりますか?Vista および 7 に固有のディレクトリ変更を監視するために使用すべき別の機能はありますか?

ありがとう、クリシュナ

4

3 に答える 3

0

Windows は、.lnk 拡張子が表示されないように、.lnk ファイルに対していくつかの奇妙な処理を行います。Windows自体は「New Shortcut.lnk」ファイルを見ることができず、「New Shortcut」だけを見ることができないため、おそらくそれが削除された通知が送信される理由です。しかし、これは単なる理論です。

だから私はそれを回避しようとし、ファイルがまだ存在する場合はファイルが削除されたという通知を無視します。もちろん、.lnkファイルがまだ存在していることがわかると仮定します:)

于 2009-07-17T20:59:24.520 に答える
0

私はこの問題を解決することができました。これらの奇妙な ReadDirectyChangesW イベントをすべて取得する理由はまだわかりませんが、最終結果を得たので、この質問はそのままにしておきます。

すべての助けをありがとう。

于 2009-08-04T20:07:09.507 に答える
0

フィルターを定義しましたか: ショートカットが再作成されている (フィルターに一致しない) のが表示されている可能性があります。

エクスプローラーは、決まった名前で作成し、名前を変更する傾向があります。したがってReadDirectoryChangesW、複数の変更が表示されます。

追加の考え:

変更通知を含むバッファには複数の通知を含めることができ、すべて読み取られていることに注意してください。

Process Monitorは同時に何を表示しますか?

于 2009-07-17T13:11:29.737 に答える