掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
起動元からの重複起動の歯止め? (ID:104979)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
横レス失礼します。 考えられる方法はいくつかあると思います。。 1.メニュー画面でコマンドボタン押した時点でAPIでプロセス上の Windowタイトルを全て取得しこれから起動するプログラムのWindowタイトルと バッティングしてるか判定して起動破棄? (起動プログラム毎にCaptionを持つ為お勧めできませんし同一タイトルがいたらアウトです。) 2.コマンドボタンを押して別プログラムを起動した後に 押されたコマンドボタンを選択不可(Enabled = False)にして APIでアクティブウィンドウのハンドルが押下時点(メニュープログラム) のハンドル以外(起動したプログラム)に変更されるまで 同期のLoop内でDoeventsでイベント逃がしながら判定しつづける。 (フォーカス遷移が認められるまでって事です)ハンドル変更が確認できたら ボタンを選択可能状態に戻す。(未確認ですができると思います) 3.OracleのDBAよりユーザー?その端末の人が何個セッションを使用しているか?取得して 一つの端末で使用できるセッション数に制限を付けちゃう。 五個以上Oracleセッションを使用していいたらプログラムの起動をキャンセルするみたいに。 (全てのプログラム起動に組み込むとパフォーマンスが落ちますが・・・) ※アクセスやその他プログラム?システム以外のセッションを覗く判定も必要になってしまいます。 ※Oracleサーバー側のいくつかの制限が必要になってしまいます。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.