VC、MFCで、あるダイアログウインドを表示するdllを作成しています。そのウインドウは常に最前面表示設定、モーダル型ウインドウ設定、最小化最大化できない設定にしてあります。それをプログラム中から呼び出した時、あるプログラムに限り、1回目の呼び出し時に最前面にならず、最小化状態で現れるのです。2回目以降の呼び出し時には正常に最前面ウインドウで表示されます。色々なプログラムから呼び出して試したのですが、その一つのプログラムだけに限りうまくいきません。そのプログラム自体はソース公開等をして頂けないものなので、解決法ではなくてもいいので、何か原因を思いつく方レスをお願い致します。
編集 削除ウインドウのハンドルを正しく取得できていないのでは?
編集 削除改めていろいろと試しました。が、そんな感じではないみたいですね。
ですが、レスありがとうございます。
また思いついたらよろしくお願いします。
case WM_INITDIALOG:
・
・
SetForeGroundWindow(ダイアログのハンドル);
・
・
でいかないですか?
すみません。表記がSDKでした...。
でも要領は同じです。
レス、ありがとうございました。
SetWindowPos()、SetActiveWindow()、SetForeGroundWindow()、BringWindowToTop()、等、いろいろ試していたのですが、
最前面にするというよりも、どう表示するかという問題だったみたいで、
ShowWindow()の指定でうまくいくことができました。
呼び出すアプリケーションが特殊らしくて相性が悪かったみたいです。
みなさん本当にありがとうございました。
解決済みです。ありがとうございました。
編集 削除