|
分類:[C#]
いつもお世話になっております。 今回も皆さんのお知恵を拝借したく投稿させて頂きました。
現在、あるアプリHogeを起動後、Hoge内にあるボタンを押下することにより、同じHogeを複数起動し(最大3つ))、 制御することを目的として作業をしています。
以下に記載するようなことが可能なのか、また可能であればどのようにすれば実現できるかが、まったく見えておりません。 ご教授いただけると幸いです。
[やりたいこと] 1.Hoge内のボタン押下により、同じHogeを複数起動する。(※こちらは、”System.Diagnostics.Process.Start"を使用して可能なことがわかりました) ※複数起動するアプリHogeは、同一のパスにあるアプリを起動したいと考えています。 2.起動する際は、起動元のアプリHogeから起動先のアプリHogeへデータを引数として受け渡す。 3.起動元アプリHogeでボタン(Hoge起動とは別のボタン)を押下すると、起動先のアプリHogeでも同じボタンを押下するイベントを発生させる。
[不明なこと] 1.起動元アプリHogeで起動先アプリHogeに対して受け渡すために、”System.Diagnostics.Process.Start。Arguments”に設定した 引数を、起動先アプリHogeでどのようにコーディングすれば受け取れるかがわかりません。 2.引数の受け渡しが成功した後、起動元のアプリHogeで別のボタンを押下した際に、起動先アプリHogeでも同じボタンの押下イベントを発声させる方法が わかりません。
[複数起動するアプリの関係] 起動元のアプリは1つ(最初に起動したHoge)のみとし、2つ目以降に起動したHogeからは、別のHogeを起動できない。 ※これは、起動されている同一アプリのプロセス数を元に、自身が起動される際、既にひとつ以上のHogeが起動されていたら、別のHogeを起動するためのボタンを押下できなく する形で対応したいと考えています。 <具体例> 最初に起動するHogeをHoge_Aとすると、Hoge_AからはHoge_B、Hoge_Cを起動できるが、Hoge_BからHoge_Cを起動することはできない
色々と調べて、サーバー・クライアントにアプリを分け制御する方法などがあることはわかりましたが、よく理解できませんでした。 ※あくまでも1つのアプリ内で、起動された際に処理を切り替えて制御することを考えているため、イメージとして上記のやり方はアプリを2つ用意しなければいけないように思え、 今回私のやりたいことに合致していない気がしています。
[開発環境] OS:Windows7 Tool:Visual Studio 2017 言語:C#
宜しくお願いいたします。
|