HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
1222
mes "(゚∀゚)"多重起動の防止2解決


mes "(゚∀゚)"

リンク

2010/12/22(Wed) 21:04:44|NO.36292

 基本的な質問でしたらすみません。
 自分のプログラムa.exeから、同じく自分のプログラムb.exeを起動するというものなのですが、
a.exeからb.exeが既に起動されているものと確認するにはどのようにすればよいでしょうか。

 実行確認のための一時ファイルを作る、プロセスやウインドウタイトルから実行を確認するなど
は知っているのですが、どれも確実なものでないので、困っています。

 宜しければご教授願います。



この記事に返信する


cookies

リンク

2010/12/22(Wed) 21:32:32|NO.36294

考えられる方法
 ・一時ファイルを作って排他的ロック
  http://msdn.microsoft.com/ja-jp/library/cc429198.aspx の共有モードを設定
  
 ・ウインドウタイトルやクラス名から実行を確認する
  http://msdn.microsoft.com/ja-jp/library/cc364634.aspx
  
 ・CreateMutex関数によってのミューテックス確認
  http://yokohama.cool.ne.jp/chokuto/advanced/index.html の下のほう

 ・メッセージの送信・返信
  http://yokohama.cool.ne.jp/chokuto/advanced/copydata.html

などでしょうか。
メッセージブロードキャストは少し負担がかかるそうです。
お勧めはミューテックス作成ですね。



mes "(゚∀゚)"

リンク

2010/12/23(Thu) 01:27:13|NO.36297

 ミューテックスはa.exeがオブジェクトを作成してしまうことが問題だったのですが、
cookiesさんのURLの先に書かれていた
ミューテックスをa.exeが確認後クローズすることで解決できました。

ありがとうございました。



ONION software Copyright 1997-2023(c) All rights reserved.