PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
1173 98/04/07 21:55:31 RE(7):ウィンドウを一旦オープンする By nari
1171 98/04/07 20:34:57 RE(6):ウィンドウを一旦オープンする By あすかちゃんの父
1167 98/04/07 17:32:09 RE(5):ウィンドウを一旦オープンする By てとらぽっと
1165 98/04/07 17:26:24 RE(4):アプリケーションの2重起動防止についての質問 By M.M
1160 98/04/07 16:09:16 RE(3):アプリケーションの2重起動防止についての質問 By koji
1154 98/04/07 10:16:43 RE(2):iniファイルから情報を取り込む方法もあります By M.M
1152 98/04/07 09:12:20 RE(1):ウィンドウ名を引数にする関数を作ります By てとらぽっと
1150 98/04/06 20:54:40 アプリケーションの2重起動防止についての質問 By koji

カテゴリ:旧電子会議室
日付:1998年04月07日 10:16 発信者:M.M
題名:RE(2):iniファイルから情報を取り込む方法もあります

「koji」さん、おはようございます。

>議題の仲に”アプリケーションの2重起動防止”について、質問があるのですが、結果として
>FindWindowで2重化の防止ができるとの事ですが、この方法では、 アプリケーションのOPEN
>イベントにアプリケーション毎に別々のウィンドウ名を記述しないならない為、部品(共通プログラム)
>として作成できません。

「てとらぽっと」さんのコメントでOKですが、こんな方法もあると思います。
アプリケーション起動時に、そのアプリケーション固有の設定をiniファイルから読み込み、その中で
二重起動チェックのためのウィンドウタイトル名も取得して、二重起動の確認を行います。

????????????????????????????????????????
[アプリケーションのopenイベント]
//このアプリケーションが二重起動しているかどうか確認する
string windowTitle
unsignedLong ll_hwnd

//ウィンドウタイトル名を\"test.ini\"から取得
windowTitle = ProfileString(\"TEST.INI\", \"Application\", \"WindowTitle\", \"\")

//WindowsAPIをコールして、同じタイトル名を持つアプリケーションを調べる
ll_hwnd = FindWindowA(0,windowTitle)

if ll_hwnd<>0 then MessageBox(\"\",\"このアプリケーションは二重起動しています。~r~nハンドル
=\"+String(ll_hwnd))

open(w_xxxx)
????????????????????????????????????????
[test.iniファイル]
[Application]
WindowTitle=「***二重起動を確認するウィンドウのタイトル名***」
????????????????????????????????????????

なお、FindWindowAはWindows32APIを、外部関数として定義しています。
詳しくは、パワーソフト社HPの\"Faxline Index\"のドキュメントID:4545
http://www.powersoft.co.jp
「32-bit環境におけるPowerBuilderからのWindows APIの呼び出し」
を参照して下さい。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS (記載なし)
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

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