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

プログラム二重起動のチェック

分類:[.NET]

開発環境:
VS .Net2003 SmartDeviceApplication
実行環境:
Windows CE 4.1

プログラム二重起動のチェックを教えていただきたいですが、
又、そういうことができるでしょうか?

宜しくお願いします。
■No478に返信(crow001さんの記事)
> プログラム二重起動のチェックを教えていただきたいですが、
> 又、そういうことができるでしょうか?
すでに起動しているかどうかは、API関数の
「FindWindow」関数でタイトル名より調べてみてはどうですか?

VB.NETは利用したことが無いので、的ハズレならゴメンなさい!(汗)
管理人さんの変わりに・・・
http://dobon.net/vb/dotnet/process/checkprevinstance.html
を見てください。
■No481に返信(クリリンさんの記事)
> 管理人さんの変わりに・・・
> http://dobon.net/vb/dotnet/process/checkprevinstance.html
> を見てください。

以上の所が見ましたが、"Diagnostics.Process"の場合、VB.NET Compact に対応していませんが、"System.Threading.Mutex"ではプログラムのメモリを利用しているらしい、実際に試していたところ、できませんでした。
■No484に返信(crow001さんの記事)
> ■No481に返信(クリリンさんの記事)
>>管理人さんの変わりに・・・
>>http://dobon.net/vb/dotnet/process/checkprevinstance.html
>>を見てください。
>
> 以上の所が見ましたが、"Diagnostics.Process"の場合、VB.NET Compact に対応していませんが、"System.Threading.Mutex"ではプログラムのメモリを利用しているらしい、実際に試していたところ、できませんでした。

CEについては全く分からないのですが、例えば起動中はどこかにファイルを作り、起動時にチェックするとか、レジストリに書き込むなどの原始的な方法しか使えないのかもしれませんね。
If UBound(Diagnostics.Process.GetProcessesByName( _
Diagnostics.Process.GetCurrentProcess.ProcessName)) > 0 Then
'すでに起動していると判断する
MsgBox("多重起動はできません。")
'終了させるコードを書いてください
Application.Exit()
End If

このコードで2重起動チェックは出来るはずです

VB.NET Tips という所を参考にしました

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