同一EXEを引数によって、微妙に異なる動作モードで2つまで起動させたいと思っています。
App.PrevInstanceによって重複起動を防止する方法は知っているのですが...
どのような方法で行えば良いか、何かヒントでもいただけないでしょうか?
>何かヒントでもいただけないでしょうか?
ではヒントだけ。
方法はいろいろあります。
1:外部ファイル(テキストファイルやデータベースなど)に
いくつEXEが起動したか記録して制御する。
2:レジストリにEXEがいくつ起動したか書き込んで制御する。
3:共有メモリでEXEがいくつ起動したか制御する。
4:ソケット通信でEXEがいくつ起動したか制御する(かなり特殊になりますが)。
5:COMを利用してEXEがいくつ起動したか制御する。
COMの部分はVC++で作らないと厳しいカモ。
パッと思いついたのはこれくらいですね。他にもいろいろあるかも
しれません。ヒント程度になれば幸いです。
モーヲタさん
ヒント有り難うございました。
割と原始的な方法で出来そうですね。考えてみます。
有り難うございました。
プロセスが終了したときにOSによって自動的に回収される機構を使うべきです。
よく知りませんがmutexとかがよいのでは?
スクリプトで使う手は、
ファイルを出力オープン(出力オープンはひとり)
ファイルを削除、作成、オープン(オープン中は削除不可)
ですが。
ツイート | ![]() |