2016-05-11 4 views
0

私はアプリケーション(マネージャー)がソケットを介して別のアプリケーション(インストラクター)にコマンドを送信するために使用しています。最初のアプリケーションから、2番目のアプリケーションを起動して実行するのに便利なデータを構成します。同じ時間に、2番目のアプリケーションから最初のアプリケーションにレポートを取得しています。チェックダイアログが開いているかどうかVC++

私の質問を説明しましょう、私は2番目のアプリケーションで実行する必要がある演習のセットがあります。どちらか私は最初のアプリからまたは2番目のアプリケーションから、練習ダイアログを呼び出すことによって呼び出すことができます。いったん私が呼び出すと、私は報告書を入手することができます。そのためには、私の最初のアプリにボタンが1つあります。

ここで何が起きているのですが、エクササイズダイアログが表示される前に、このボタンを押すとエラーが表示されます。

私は、そのダイアログが開いているかどうかを知りたいだけです。

GetSafeHwnd()を使用しますが、そのダイアログクラス用に作成されたオブジェクトは、ダイアログが開いていなくても値を取得します。

ここでコードを貼り付けて、最初のアプリから 'GenXL'コマンドを押してください。

+1

Re: 'それはエラーを表示する' - 何のエラー? –

+0

'if(oPerfScore-> GetSafeHwnd()== 0)oPerfScore-> SendMessage(...)'これは意味をなさない。 –

+0

何度かハングしますが、IDC_GENERATE_EXCELの関数定義の先頭行にアサーションエラーが表示されることがあります。SetTimer()を呼び出すと、 、それはSetTimer関数のアサーションエラーです。私は、2行目でアサーションエラーをコメントしてください。 – Anu

答えて

2

ハンドルが作成されている限り、ウィンドウが現在表示されていない場合でもハンドルは有効です。私はAPI呼び出しIsWindowVisible()を探していると思います。私はMFCがメンバーとしてこれを包むと信じています。

+1

'WM_COMMAND'メッセージを不可視ウィンドウに送信できると確信しています。私はこの問題が他の場所にあると思う。 –

関連する問題