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 (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.