- - PR -
[VB.NET]二重起動防止
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-03-17 18:38
VB.NETで二重起動防止を行う場合、以下のような方法が
あると思いますが、問題があります。 原因・対策どなたかお知りでしたらご教授下さい。 方法1:OS:2000Server、XPだとチェックに10〜20秒かかる。 If UBound(Diagnostics.Process.GetProcessesByName( _ Diagnostics.Process.GetCurrentProcess.ProcessName)) > 0 Then 'すでに起動していると判断する End If 方法2:DEBUGモードでコンパイルしたEXEじゃないと利かない。 RELEASEモードのEXEは複数起動してしまう。 'Mutexクラスの作成 Dim m As New System.Threading.Mutex(False, "MyName") 'ミューテックスの所有権を要求する If m.WaitOne(0, False) = False Then 'すでに起動していると判断する End If | ||||
|
投稿日時: 2004-03-18 14:46
Mutexクラスを初期所有権を与えて作成し、付与できたかどうか結果をもらう方法はどうでしょうか。
Dim Result As Boolean dim m As New System.Threading.Mutex(True, "MyName", blnResult) If Result = False Then 'すでに起動していると判断する End If | ||||
|
投稿日時: 2004-03-18 14:54
返信ありがとうございます。
Mutexクラス方法だとWindows2000Serverでも高速に重複起動できましたが、 Releaseモードで実行するとチェックが利きませんでした。 色々調べてみると不思議な現象が起こりました。 Xmlファイルの読込メソッドがあるのですが、それをコールすると Mutexが初期化されるようです。(デバッグモードだと初期化されない) しかしXmlファイルのサイズを4K以下にすると不思議と正常に動作します。 結局根本原因はわからなかったのですが、原因となるXMLのメソッドを読んだ後に Mutexによる重複起動チェックを行うようにしたらReleaseモードでもうまく動くようになりました。 | ||||
|
投稿日時: 2004-04-05 18:04
すいません。
VB.NET2003 スマートデバイスアプリで私も同じ事を試みています。 引用-------------------------------------------------------------- 方法1:OS:2000Server、XPだとチェックに10〜20秒かかる。 If UBound(Diagnostics.Process.GetProcessesByName( _ Diagnostics.Process.GetCurrentProcess.ProcessName)) > 0 Then 'すでに起動していると判断する End If ------------------------------------------------------------------- プロセスコンポーネントを追加するという事ですよね。 スマートデバイスでは標準以外にコンポーネントを追加しても使えないみたいです。 引用-------------------------------------------------------- 方法2:DEBUGモードでコンパイルしたEXEじゃないと利かない。 RELEASEモードのEXEは複数起動してしまう。 'Mutexクラスの作成 Dim m As New System.Threading.Mutex(False, "MyName") 'ミューテックスの所有権を要求する If m.WaitOne(0, False) = False Then 'すでに起動していると判断する End If ------------------------------------------------------------- Dim m As New System.Threading.Mutexと記述すると Dim m As New System.Threading.Mutex(False or True) だけの指定でうまく記述が出来ませんでした。 同じVB.NETでも処理の仕方が違うのでしょうか? ご存知の方教えて頂けないでしょうか? | ||||
|
投稿日時: 2004-04-06 07:51
「うまく記述が出来ません」とは、どのような状態なのでしょう? あなたが他人から「これ、うもう書けへんねんけど、なんでやろ?」とだけ言われて、何かアドバイスできますか? |
1