- PR -

VC++ 実行アプリケーションの2重起動防止について

投稿者投稿内容
ookura
会議室デビュー日: 2006/02/19
投稿数: 6
投稿日時: 2006-02-19 22:14
引用:

渋木宏明(ひどり)さんの書き込み (2006-02-19 21:48) より:
API の使い方云々よりも、根本的なところに思い違いがあるような気がします。

引用:

最終的には、notepadのような自アプリケーション以外ののアプリを起動させたいと思っています。



それは Mutex では制御できません。

CreateMutex() してみたところで、その Mutex の存在をチェックするコードが、この場合は Notepad.exe に存在しなければ、まったくの無意味です。

元々複数起動を許しているアプリケーションを、外部から複数起動禁止にするのはかなり難しいです。


[ メッセージ編集済み 編集者: 渋木宏明(ひどり) 編集日時 2006-02-19 21:54 ]



>渋木宏明(ひどり)様
そうなんですか・・・・・・。
ご指摘有難うございました。

じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-02-19 22:15
引用:

渋木宏明(ひどり)さんの書き込み (2006-02-19 21:48) より:

それは Mutex では制御できません。
CreateMutex() してみたところで、その Mutex の存在をチェックするコードが、この場合は Notepad.exe に存在しなければ、まったくの無意味です。

元々複数起動を許しているアプリケーションを、外部から複数起動禁止にするのはかなり難しいです。


ですね。

外部アプリケーションであっても、自アプリケーション "からの" 起動防止に関してであれば、
現在起動中の Process 名と全部比較することで可能でしょうけど。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ookura
会議室デビュー日: 2006/02/19
投稿数: 6
投稿日時: 2006-02-19 22:17
引用:

じゃんぬねっとさんの書き込み (2006-02-19 22:15) より:
引用:

渋木宏明(ひどり)さんの書き込み (2006-02-19 21:48) より:

それは Mutex では制御できません。
CreateMutex() してみたところで、その Mutex の存在をチェックするコードが、この場合は Notepad.exe に存在しなければ、まったくの無意味です。

元々複数起動を許しているアプリケーションを、外部から複数起動禁止にするのはかなり難しいです。


ですね。

外部アプリケーションであっても、自アプリケーション "からの" 起動防止に関してであれば、
現在起動中の Process 名と全部比較することで可能でしょうけど。





>じゃんぬねっと様
ご指摘有難うございました。

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