PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
22763 | 06/09/01 13:42:55 | RE(2):PB8.0: RUN関数で実行したアプケーションが完了するまで待ちたい By indian |
22743 | 06/08/11 16:22:38 | RE(1):PB8.0: RUN関数で実行したアプケーションが完了するまで待ちたい By kitsunerisu |
22742 | 06/08/09 19:15:09 | PB8.0: RUN関数で実行したアプケーションが完了するまで待ちたい By BSW311 |
カテゴリ:PowerBuilderの開発環境
日付:2006年09月01日 13:42 発信者:indian
題名:RE(2):PB8.0: RUN関数で実行したアプケーションが完了するまで待ちたい
BSW311さん、こんにちは。
>こんにちは。
> 今、RUN関数でアプリケーションを実行して、それが完了するまで待って、
> 完了してから後続の処理を行いたいのですが、どうしたらよいかわかりません。
> どなたか対応方法をご存知の方がいらっしゃいましたら、ご教授願いします。
> よろしく御願いします。
>
RUN関数で起動しているアプリケーションのWindow名が分かっているのであれば
FindWindowAというWindowsAPI関数を使用して、起動中かどうかを判定できるので
この関数をTimerイベントで定期的に実行するという手も考えられます。
以下、PB9.0のヘルプのコピーです。
------------------------------------------------------------------------
Windows 上のアプリケーションでは、previous フラグが TRUE の場合、Handle 関数は有効な値を返しませ
ん。 Windows アプリケーションがすでに実行されているかどうかを確認するには、Windows の FindWindowA
関数を使用してください。
FindWindowA を、グローバルな外部関数として宣言します。
FUNCTION uint FindWindowA (long classname, string windowname) LIBRARY \"user32.dll\"
次のようなコードを、アプリケーションの Open イベントに追加します。
uint val
val = FindWindowA(0, \"MyApp Main Window\")
IF val > 0 THEN
MessageBox(\"アプリケーションは実行中です\", &
\"MyApp は既に実行中です。.&
起動できません。\")
HALT CLOSE
ELSE
open(w_main)
END IF
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows XP
DBMS Oracle Net 9
Browser InternetExplorer
Server SoftWare
OS Windows 2000
DBMS Oracle9i
WebServer IIS
Copyright © 2013 Power Future Co., Ltd.