DOBON.NET DOBON.NETプログラミング掲示板過去ログ

2重起動の防止について

環境/言語:[WinXP、VB2005]
分類:[.NET]

はじめまして。
VB2005を使用しています。

現在Windowsアプリを開発しているのですが、
本番用とテスト用で同一のアプリを同一PCで動かす必要があります。

その場合にそれぞれ別々に2重起動を防止したいのですが、
[My Project]→[アプリケーション]の
単一インスタンスのアプリケーションを作成する、にチェックを入れると
本番用起動時に、テスト用を起動すると起動できなくなってしまいます。

これを解決する方法はございませんか?
ぜひよろしくお願い致します。
■No21878に返信(コウさんの記事)

本番用とテスト用とは言え「同一のアプリ」を「二重起動を防止」したいのですよね。
動きとしてはまっとうな動きで、ごく当たり前の話だと思うのですが。

> これを解決する方法はございませんか?
「解決」という意味では、動きが正しいのでこれはこれで解決とも言えなくもないですが。
本番用とテスト用で別々に二重起動を防止したいというのであれば、VB の仕組みを
利用することはできないでしょう。
Mutex などを使って、独自に二重起動防止の処理を組み込むしかないと思います。

方法はご自分で調べてみてください。
ご回答ありがとうございます。

Mutexを使う方法で解決させて頂きました。
ご教示ありがとうございました。

それから勉強のためにお聞きしたいのですが、
GUIDを変更したところ、別々のアプリケーションと判断されたようで
それぞれで2重起動を防止してくれました。

GUIDは適当に変更してみたのですが、
このような対応では、問題がありますでしょうか?

ご回答よろしくお願いいたします。
> GUIDは適当に変更してみたのですが、
> このような対応では、問題がありますでしょうか?
自分で何も考えずに変更したというのであれば、ダメです。
GUIDはツール、あるいはコードを使って生成して下さい。

http://www.atmarkit.co.jp/fdotnet/dotnettips/675generateguid/generateguid.html

※GUID: Global Unique Identifier
http://e-words.jp/w/GUID.html
ありがとうございます。
ご提示頂いたURLを参考にGUIDを作成して
使用させて頂きました。
解決済みにチェックしていませんでした。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板