- PR -

アプリケーションの2重起動チェック

1
投稿者投稿内容
ひよっこ
会議室デビュー日: 2005/05/23
投稿数: 3
投稿日時: 2005-05-23 14:41
vb .net2003にてプログラムの2重チェックを行いたいのですが、citrix社のMetaframe環境にて processname、Mutexによる記述を行った場合に リモート コンピュータからプロセス情報を取得できませんでした。 となってしまいます 他にどのようなチェックの仕方があるのでしょうか
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-05-23 14:57
こんにちは、じゃんぬ です。

引用:

vb .net2003にてプログラムの2重チェックを行いたいのですが、citrix社のMetaframe環境にて processname、Mutexによる記述を行った場合に リモート コンピュータからプロセス情報を取得できませんでした。 となってしまいます


GetProcessesByName で、端末名を指定しているとか...?
しかし、何故に ProcessName と Mutex 両方使用?

引用:

他にどのようなチェックの仕方があるのでしょうか


私の頭の中には、それ以上のものはないです。[ シグネチャを削除 ]

[ メッセージ編集済み 編集者: じゃんぬねっと 編集日時 2006-10-12 13:39 ]
katope
会議室デビュー日: 2003/01/24
投稿数: 5
お住まい・勤務地: 名古屋の隣
投稿日時: 2005-05-23 15:09
外していたらごめんなさい。

Metaframeをご使用とのことですが、
「各ユーザについて1インスタンスのみ許可する」
にチェックすれば、二重起動は防げると思うのですが。

.Net側の対策でなくてすみません。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-05-23 15:29
MetaFrameって使った事が無いんですが、用はTerminal Services見たいな物ですか?
もしかしてMutexの名前にGlobal\とかLocal\を付けると旨く動きません?
ひよっこ
会議室デビュー日: 2005/05/23
投稿数: 3
投稿日時: 2005-05-23 16:30
補足説明として processname または Mutex のいづれの指定にて実行した場合であってもSystem.InvalidOperationException' のハンドルされていない例外が system.dll で発生しました。と通知されてしまいプロセス名等が取得できませんでした。MetaFrame側の設定にて1インスタンスのみ の指定をすることにより起動を1つにすることはできましたが、今回の運用としては、公開アプリケーションとしてログオン操作を公開しその後にメニューよりアプリケーションを選択させたいのですがアプリケーションに対する2重起動がうまく制御されない状況です
ken-s
会議室デビュー日: 2005/05/24
投稿数: 1
投稿日時: 2005-05-24 11:33
具体的なコードは提示できませんが、以前同様のことを行った際には
ターミナルサービスAPIを利用して、ターミナルサーバ上の実行中のプロセス数を
カウントする形を採りました。同APIについて調べてみると良いかもしれません。
ひよっこ
会議室デビュー日: 2005/05/23
投稿数: 3
投稿日時: 2005-05-27 09:01
ありがとうございました うまい対処方法が見当たらなかったためoracleのセッション情報を利用することによりチェックを行うことにて対処しました
1

スキルアップ/キャリアアップ(JOB@IT)