3

定義可能なアプリケーションの起動時間を測定する小さな C# アプリケーションを構築する必要があります。この無料ツールを見つけました:

http://www.passmark.com/products/apptimer.htm

これはまさに私が必要としているものですが、データベースのログ記録やその他いくつかの機能が必要なため、より企業固有の内部バージョンを作成するよう求められました。

「Input Idle」以外のすべての機能を複製する方法を理解しています。この用語を検索しようとしましたが、有用な参考文献が見つかりませんでした。アプリケーションの「入力アイドル」状態をチェックするために、誰かが私を正しい方向に向けることができますか?

4

3 に答える 3

6

あなたは呼び出すことができます

WaitForInputIdle( ProcessInfo.hProcess, INFINITE );

指定されたプロセスが最初の入力の処理を終了し、保留中の入力がない状態でユーザー入力を待機するまで、またはタイムアウト間隔が経過するまで待機します。

http://msdn.microsoft.com/en-us/library/windows/desktop/ms687022(v=vs.85).aspx

http://www.codeproject.com/Articles/137/Sending-a-message-to-the-Main-Frame-Window-of-Anot

于 2013-01-09T16:58:29.123 に答える
6

これは、アプリケーションがアイドルメッセージループ状態になったときにコールバックするWindowsWaitForInputIdleAPIを参照しています。

http://blogs.msdn.com/b/oldnewthing/archive/2010/03/25/9984720.aspx

于 2013-01-09T16:58:33.873 に答える
4

System.Diagnosticsには、プロセスがアイドル状態であるかどうかを確認するProcess.WaitForInputIdle()というメソッドがあります。

注:これは、ある種のインターフェース(およびメッセージループ)を備えたプログラムでのみ機能します。

WaitForInoutIdle()のMSDN

開始するための良い例については、この前の質問を確認してください。必要なのは、idleメソッドを追加し、ターゲットプロセスを接続することだけです。

また、ターゲットアプリケーションにインターフェイスがあるかどうかを実際に確認する方法に関するいくつかの良い提案については、これを確認してください。ただし、既知のアプリケーションを使用している可能性があるため、これはおそらく必要ありません。

于 2013-01-09T17:00:23.483 に答える