2011-10-14 14 views
0

私は、ファイルシステムの変更を監視する古いアプリケーションを持っています。これは、何らかの不明な理由により、大幅に遅くなります(クラッシュを引き起こすと思います)。プログラムがこれを行う必要はありません。アプリケーションがファイルシステムの変更を監視できないようにします。

これらの変更を監視するアプリケーションのフックを削除またはバイパスする方法はありますか?

IIRCプログラムが実行される前(および/または後)にフックを作成しても、次のフックを呼び出すことはできませんか?これが実行中のすべてのアプリケーションを壊しても、私は気にしませんが、もちろん、このアプリケーションに影響を与えます。

+0

プログラマは、偶然にもReadDirectoryChanges()を追加することはありません。ソースコードがなくても、作成者または所有者に連絡してサポートを依頼すれば、何かできることはありません。 –

+0

私はあなたが結論に至った経緯を知りました。プログラムがこれを行う必要はありません。なぜそれがそれをしているのかわからずに。 – Luke

+0

私が言ったように、このアプリケーションは変更を監視するべきではありません。なぜそれが行われているのかは不明ですが、アプリケーションには必要がありません。それはいくつかの奇妙なボールの理由を無効にしたとしても、アプリケーションには何ら影響を与えませんが、少なくとも私にとってはパフォーマンスを向上させます。 アプリ内で「機能」が壊れてしまった場合、私はそれを裂けません。また、ソースコードを持っている必要はありません。フックはチェーン内で呼び出され、チェーン内のチェーンを切断するだけです。これを行うにはいくつかの方法があります。私は誰かがこれを前にやっていて、私にある方向性を与えてくれることを望んでいた。 – AbstractDissonance

答えて

0

AFAIKには、FSモニタリングの設定に使用する特別なAPI ReadDirectoryChangesWがあります。それは何もしないで成功を返すようにそれをフックすることができます。

+0

右は特別なAPIがないため、もっと複雑です。私は、アプリケーションのフックが呼び出されるのを防ぐために、ウィンドウがどのようにフックするかを正確に知る必要があるため、単純なフックが機能するかどうかはわかりません。私がフックを書いたとき、私は次のフックやいくつかのデフォルトのプロシージャを呼び出さなければならない、あるいは次のコールを呼び出さなくてはならないことを読んだことを覚えています...しかし、このケースではまったく覚えていません。 – AbstractDissonance

関連する問題