いつもお世話になっております。
Delphi2006を使用しています。
現在、メインPGMから他アプリケーションを呼ぶ
処理を行っています。
procedure TCS01000f1.ButtonClick(Sender: TObject);
begin
ShellExecute(Application.handle,'open','PGM名',nil,nil,SW_Show);
end;
上記のように、他アプリケーションを呼んでいるのですが、
呼び出された場合、呼び出し元のPGMを操作不可にしたいのです。
もしお分かりの方、または参考HPなどをご存知の方は
お教えいただけると助かります。
以上、宜しくお願い致します。
操作不可にして、復活させないのであれば
終了させればいいのでは???
Manbonさん、返信ありがとうございます。
呼び出し元にはボタンが複数あるため、
呼び出した画面を閉じ、また呼び出し元に戻り、
別の画面を呼び出す、ということをしたいのです。
説明不足で申し訳ありません。
ShellExecuteExを使えば、呼び出したアプリケーションが終了するまで待つかどうか指定できます。
待ちっぱなしにしておけば、その間呼び出し元は固まって操作できなくなりますし、
もし完全に固まるのが嫌ならプロセスハンドルをもらって、ProcessMessagesしながら終了を待てばいいかと。
(もちろんその前に自身のEnabled=falseにしておく)
これらのキーワードで過去のトピックを検索すれば例が出てくると思います。
ツイート | ![]() |