0

アプリケーションが私のライブラリを参照し、アプリケーションが実行されたときに、私の関数内の関数が呼び出されずに実行できるように、C# ライブラリまたは参照サービスを書きたいですか?

たとえば、ライブラリを取得し、プラットフォームのメモリ使用量を読み取り続け、メモリが最大 80% になったときに、ユーザーにメッセージをポップアップ表示します。アプリケーションを閉じる時間です。

だから..別のアプリケーションを作成し、新しいアプリケーションにメモリチェック機能を持たせたい場合は、それを参照するだけで、新しいアプリケーションの実行後にメモリチェックが一緒に起動されます..

だから..どうすればこれらを行うことができますか?

4

3 に答える 3

2

クラスの静的コンストラクターを作成します。このコンストラクターは、ホスト アプリケーションがクラスに関連するものを初めて参照するときに 1 回だけ実行されます。

スレッドを作成して、バックグラウンド チェック プロセスを実行したり、Application オブジェクトのイベントにフックしたり、必要なものを何でも実行したりできます。

ただし、プロジェクト参照をアセンブリに追加するだけでなく、そのアセンブリ内の何かが既存のコードによって参照されている場合にのみ、アセンブリがアプリ ドメインに読み込まれる必要があることに注意してください。

于 2009-07-17T03:55:02.197 に答える
0

お探しの用語は「Win32 アプリケーション フック」です。マネージド フック インジェクションの適切な紹介がここにあります: http://msdn.microsoft.com/en-us/magazine/cc188966.aspx

ただし、アプリケーション フックを使用してシステム メモリの消費量を監視できるかどうかはわかりません。残念ながら、グローバル フックには明確に定義されたエントリ ポイント (DLL エクスポート) が必要なため、マネージ コードにグローバル フックを記述することはできません。これは、C++ に最も適したものです。

于 2009-07-17T03:55:56.687 に答える