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 (記載なし)
Copyright © 2013 Power Future Co., Ltd.