2012-02-02 5 views
2

私はモニタープログラムを書いてみたいです。それは特別なソフトウェアを監視します。このソフトウェアがファイルを開くと、起動履歴が記憶されます。だから私は自分の "お気に入りのファイル"や "履歴"システムを作ることができます。ソフトウェアで開いたすべてのファイルをどのように追跡できますか?

つまり、私はTotal Commanderを頻繁に使用します。私はtcをプログラムランチャーとして使用しました。ほとんどの私のドキュメントやプログラムがTCで開かれました。しかし、TCにはオープンファイル履歴システムはありません。だから私は1つを作るつもりです。

ファイルがTCで開かれたとき。 TCは親プロセスです。私はTC(それはメッセージの送信とモニタのコードについてです)によって開かれたすべてのファイルを取得するC#コードを書く方法があると思います。 TCはデルフィンで書かれており、スタンドリストボックスコントロールを使用しています。 C#は良い問題を解決することができます。

私はC#の新機能ですが、AutohotkeyとPythonプログラミングのスキルは少しあります。私は今C#を学んでいます。コードを書くためのヒントを教えてもらえますか?コアのアイデアはOKですが、私はGUIのものを扱います。

+0

sysinternalsツールにはソースコードが含まれていますか? –

答えて

2

自分で書く必要はありません。 sysinternals/Microsoftのプロセスモニタはファイルを監視できます。フィルタを使用すると、プロセスごとにフィルタリングすることができます。

http://technet.microsoft.com/en-us/sysinternals/bb896645

+0

すぐにお返事ありがとうございます。私はいくつかのツールがメッセージを監視できることを知っています。しかし、私の目標は「お気に入りのファイルリスト」のような小さなツールを作ることです。私は履歴データを収集するコードを書いて、リストボックスにデータをエクスポートします。これはTCの「最近開いたファイル」のようなものです。 – textpattern

0

イムも、大学のプロジェクトのための子供の監視ソフトウェアをしています。 私はこれを行うためのいくつかの解決策を見つけました。

  1. のWindows HOOKと
  2. 理由だけで... MyRecentDocumentsフォルダをチェックしていないすべてのFILEREAD write..etc(ハード&コンプレックス)を傍受:P(ユーザーは長所と短所の両方を持っている設定を変更する場合があります)

私たちは、 "プロセス" クラスを使用して何かをすることができればdonnoは..:P

EDIT ----------------

私はほとんど忘れてしまいました。 .. Process Monitoring Componentを実装しているときに、ユーザーが "dllhost.exe"ファイルをダブルクリックすると、そのファイルが実行されることがわかりました。 :)私はあなたが今何をするかの手掛かりを持っていると思う。私はまだそれに取り組んでいる..

関連する問題