none
C# form上に外部アプリケーションを起動する RRS feed

回答

  • 「Form の中に」ということであれば対象のアプリがそういった機能を提供しない限り、一般的には実現不可能となります。
    (SetParent API とかを駆使すれば擬似的にできるかもしれませんが、ちゃんと動くとは限らない)

    「Form の上に(別アプリとして起動し、重なるという意味で)」ということであれば、Process.Start などでよいでしょう。
    ただし、別アプリとして起動するので、自分のアプリをアクティブにすると、「Form の下に」見える場合もあります。

    • 回答としてマーク Ayumu1011 2014年10月4日 13:49
    2014年10月2日 22:18
    モデレータ

すべての返信

  • 「外部アプリケーション」側が対応しているかどうかに依存します。新しいウィンドウを開いてしまうメモ帳のようなものは無理でしょうし、ウィンドウ内に表示することを前提としたIEやFlash Playerなら適切にコーディングすることでできます。
    2014年10月2日 9:28
  • 返信ありがとうございます。

    ウィンドウ内に表示することを前提ということはpcゲームやお絵かきソフトなんかはform上では起動できないってことですか

    説明下手で申し訳ありません。

    2014年10月2日 18:19
  • 「Form の中に」ということであれば対象のアプリがそういった機能を提供しない限り、一般的には実現不可能となります。
    (SetParent API とかを駆使すれば擬似的にできるかもしれませんが、ちゃんと動くとは限らない)

    「Form の上に(別アプリとして起動し、重なるという意味で)」ということであれば、Process.Start などでよいでしょう。
    ただし、別アプリとして起動するので、自分のアプリをアクティブにすると、「Form の下に」見える場合もあります。

    • 回答としてマーク Ayumu1011 2014年10月4日 13:49
    2014年10月2日 22:18
    モデレータ
  • 一般的にはその様な機能はまったく必要ないはずなのですが、
    なぜそれが必要になったのかを詳しく説明すると、
    別の解決案が提案されるかもしれません。
    2014年10月3日 1:09
  • 仲澤@失業者さんと同じく動機が気になります。

    とはいえ、先の回答を理解されていないようですので再度補足しておきます。

    「外部アプリケーション」側が対応しているかどうかに依存します。「pcゲームやお絵かきソフト」といったアプリケーションのカテゴリが問題となるのではなく、個々の具体的なアプリケーションに依存します。pcゲームであっても埋め込みに対応しているものもあり得ます(無意味なのでほぼないと思いますが)。もしくはブラウザーゲームの場合、ゲームを埋め込むことはできませんがすでに説明したようにブラウザーを埋め込むことができます。
    # pcゲームの場合、form内にゲームを表示するよりもゲーム画面内に追加情報を重ねて表示するタイプのツールを見かける気がします。作成には相当なスキルを要しますが。

    もう一方にお絵かきソフトが挙げられていますが、動機がさっぱり理解できませんでした。

    2014年10月3日 2:01
  • 説明がなってないため皆さんに迷惑をかけました。すみませんでした。

    Azulean様の回答が自分の求めていたものにに一番近かったのでえらばせていただきました。

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

    2014年10月4日 13:53