いろいろ試したのですがうまくいかないのでご教授願います
フォームのボタンクリックでCreateProcessにて自作EXEを起動させ、同じ
ボタンを押されたときの2重起動の防止はうまくいくのですが、そのEXEが
起動されていたときに前面に表示させたいのですがうまくいきません。
WinHnd := FindWindow('JISAKU', nil);
SetForegroundWindow(WinHnd);
FindWindowじゃ、外部EXEは引っかかってくれないのでしょうか?
考え方がおかしいのかもしれませんが、よろしくお願いいたします。
'JISAKU'はクラス名ですか?
http://homepage2.nifty.com/Mr_XRAY/Halbow/Notes/N011.html
このページの List5 は参考になりませんか?
すでに確認済みでしたらご容赦ください。
>FindWindowじゃ、外部EXEは引っかかってくれないのでしょうか?
FindWindowの結果はどうなっているのですか?
またWin98以降はSetForegroundWindowだけでは他プロセスのウィンドウをアクティブにできないので、AttachThreadInputを入れてみてはどうでしょう?
> FindWindowじゃ、外部EXEは引っかかってくれないのでしょうか?
SetForegroundWindowの行でブレークポイント入れて、WinHndに0以外の値が
入っていますか?
0でなければ、最前面にでてこないのでしょう。
過去ログ
> 最前面表示について
https://www.petitmonte.com/bbs/answers?question_id=3625
皆様、いろんなご回答ありがとうございます。
回答をみてドキッとしました・・・
FindWindowの使い方間違っていました。
クラス名じゃなかったです。
助かりました。ありがとうございました。
ツイート | ![]() |