2011-03-03 19 views
0

別のアプリケーションのウィンドウが表示されているときに、アプリケーションで待っている最善の方法(最適化とシステムリソースを使用して表示する)は何ですか?例えば別のアプリケーションウィンドウを待っています

  1. 私のアプリケーションが起動します。
  2. 待ち受け中、たとえば メモ帳が開始されるので、そのウィンドウのハンドルを取得できます。
  3. で何かをやって、私のアプリを閉じてハンドルを使用しています。

アイテム2を達成するには?私はただ1つの方法しか知っていません:ループにハンドルが存在するかどうかを確認するには、FindWindowを使用してください。しかし、よりスマートなソリューションが存在することを願っています。

答えて

2

プロセスを起動した場合(CreateProcess)、WaitForInputIdleを使用してから、FindWindowループを開始してください。ループにSleep(20)などを追加すると、リソースの使用が最小限に抑えられます。

2

私は同じ...私は見てください...最善の方法は、プロセスをフックの窓... USING HOOKS

だと思うと思ういけない:WH_CBT、あなたがイベントを見てする必要があります。HCBT_CREATEWND