PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
666 | 98/02/24 16:09:26 | RE(6):アプリケーションの起動チェックについて教えて下さい。 By めめ |
502 | 98/02/10 09:45:15 | RE(3):有り難うございます。 By enoki |
カテゴリ:旧電子会議室
日付:1998年02月24日 16:09 発信者:めめ
題名:RE(6):アプリケーションの起動チェックについて教えて下さい。
>どうも皆さん初めて電子会議室に参加する者です、
>どうか宜しくお願いします。
>
>実はPowerBuilderでアプリケーションが起動されているかどうかのチェックを行いたいのですがよく分かりません。
>WindowsAPIの”FindWindowA関数”を使用すると思うんですが、うまく動きません。
>誰か知っている人がいましたら教えて下さい。
>
はじめまして、私も初めて参加するものです。
この件について、以前調べたことがあったので、もし良ければ参考にして下さい。
Power Builder 5.0のヘルプに、ウィンドウのハンドルを取得するHandle関数で、同一アプリケーションの二重起動の防止ができるという記述がありますが、あれは16bitでの話で、32bitではインスタンスのハンドルは取得できません。この場合、Windows の API関数を使用して下さい。
以下、ウィンドウ名でチェックする例です。
[グローバル外部関数宣言部]
function uint FindWindowA(long classname, string windowname) LIBRARY \"user32.dll\"
[アプリケーションオブジェクトのOpen イベントに対するスクリプト]
uint val
val = FindWindowA(0, \"ウィンドウのタイトルバーに表示されている名前\")
IF val > 0 THEN
/* すでに起動されている */
ELSE
/* 起動されていない */
END IF
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS (記載なし)
DBMS (記載なし)
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.