二重起動(外部アプリ)

[戻る]
chop [E-Mail] 2002/09/10(火) 12:50:16
はじめましてchopと申します
宜しくお願いします。
いきなりですが質問です。
外部アプリケーションの二重起動防止は出来ないのでしょうか?
出来るとしたらどのような方法があるか教えて下さい。

アイススケーター 2002/09/10(火) 13:44:48
↓にMutexを利用した方法が掲載されています。

http://hp.vector.co.jp/authors/VA000092/win32/misc.html#instance

この手の内容はよくさがせばありますので、YAHOO等で一度検索しましょう。

chop [E-Mail] 2002/09/10(火) 13:59:59
Mutexは自分のアプリケーションの二重起動しか出来ないと聞きましたが。
できるんですか?

a 2002/09/10(火) 16:16:58
http://google.yahoo.co.jp/bin/query?p=%c6%f3%bd%c5%b5%af%c6%b0&hc=0&hs=0

wood 2002/09/10(火) 16:22:42
起動する側は何使って(関数)外部アプリ起動しているの

発言される前に「使用上の注意」を必ずお読み下さい。

アイススケーター 2002/09/10(火) 17:23:23
>Mutexは自分のアプリケーションの二重起動しか出来ないと聞きましたが。
>できるんですか?

起動される側で排他をとればいいですよ。

その他に
 ・起動する側で管理したい場合はフラグを利用する。
 ・起動する側で起動するアプリの数を制限する場合は、カウンタを利用する。

このような内容ではだめですか?

chop [E-Mail] 2002/09/10(火) 17:35:06
スミマセンでした 遅れましたが 開発環境 VC6.0 MFC です。

起動する関数はShellExecuteです>woodさん

排他を取るというのはどういう事でしょうか?
VC初心者なので良く分らないのですが・・・。

chop [E-Mail] 2002/09/10(火) 17:36:21
OSは Win NT4.0 です。記入忘れです。
毎度スミマセン。

a 2002/09/10(火) 17:41:23
http://google.yahoo.co.jp/bin/query?p=%c6%f3%bd%c5%b5%af%c6%b0%a1%a1%c7%d3%c2%
be&hc=0&hs=0

上のページの上から3番目の項目なんてどうかな?
役に立たなかったら申し訳ない。

アイススケーター 2002/09/10(火) 17:59:53
>排他を取るというのはどういう事でしょうか?

排他はMutexやセマフォを利用して行うものです。

↓に掲載されています。

http://yougo.ascii24.com/gh/16/001652.html

dairygoods 2002/09/10(火) 18:42:42
ShellExecuteで別のアプリケーションを起動する時に、
前回ShellExecuteで起動したアプリケーションがまだ動いていたら
2つ目を起動しない、ということですか?

それならば単純にFindWindowで該当する別アプリケーションを探して、
有無を調べればよいでしょう。

chop [E-Mail] 2002/09/11(水) 09:05:02
[[解決]]
皆さんありがとうございました。
FindWindowでウィンドウタイトルを入れてやって
ハンドルが0だったら起動するみたいな処理を入れたら
出来ました。
お世話になりました。

古いスレッドには追加発言できません。