• ベストアンサー

VB.NETのフォームの中にアプリケーションを起動したい

VB.NETのフォームの中に別のアプリケーションを 起動したいのですが、そのようなことができましたら、 ヒントや方法をご教示頂きたいです。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#221368
noname#221368
回答No.1

(1)ものによりますが、Applicationによっては、WindowsのFormで使用される事を想定して、最初からAppのContorol Versionを用意しているものもあります。 (2)少なくともOfficeファミリーなら、OLEコントロールか何かにリンクさせて、目標AppのインターフェイスをFormに表示し、しかも動かせます。ただし本来のAppについているメニュー機能などは、全て自前で用意する必要があるかも知れません。 (3)Form上ではないですが、別Applicationとして起動して、FormとApp画面を、右クリック一発などで切り替える手もあります。たぶんAPI関数を使用します。 (4)(1),(2)に該当していなくても、正規にFormに組み込む手もあるはずです。ですがこれは、目標Appの仕様と、Windowsの表示機構に関係する話しなので、Cのカテゴリーできいた方が良いと思います。

関連するQ&A

  • VB.NETからエクセルを起動して、エクセルでVBを閉じたい。

    こんにちは。 先日、エクセルのフォームを最前面に配置したいという 質問をさせて頂いたものでございます。 それで、SetWindowPosのAPIで設定する方法を教えて頂いたのですが、 最前面にする事は出来たのですが、フォームを動かすと ブックはその一つ下に現れてしまい、 ブックを最背面に配置するなどを試みてみたのですが、 どうもうまく行かないので、 エクセルから直に立ち上げることが出来ないようにして VB.NETのフォームを作ってエクセルにデータを送ろうかと思いました。 それで、データを送る方法は何とかなりそうなのですが、 VB.NETのフォームからエクセルを起動して、 次にエクセルからそのフォームを出したり、隠したりしたいのですが、 その場合、VB.NETのフォームのなんと言うハンドルを取得すればよいでしょうか? IDにも色々あるようで、どれを使えばよいのか分からなくなってしまいました。 そのIDはVBのフォームを起動した時に、エクセルと共有するiniファイルなどに、書き込んでおこうかと思っています。 よろしくお願いいたします。m(__)m

  • vb.netアプリケーション全てのフォームを前面に

    初心者です。 VisualBasic2010で複数のフォームを持つアプリケーションを作成しています。 それぞれのフォームに親子関係はありません。 全てのフォームが開いている状態で別のアプリケーションを操作し、 [Alt]+[Tab]やツールバーから選択するなどで1つのフォームを選択すると、 そのフォームのみ前面に表示され、 アプリケーション内の他のフォームは別アプリケーションの後ろに隠れたままとなります。 それを全て手前に表示する方法はありますでしょうか。 Activatedイベントで他のフォームをアクティブにせずに開く、などできればおしえてください。 よろしくお願いいたします。

  • VBAからVB.Netで作成したフォームの起動

    Wordマクロで下記のような動作をすることができますでしょうか? (1) WordマクロからVB.Netのフォームを起動 (2) (1)で起動されたフォーム上のOKボタンをクリックすると、フォームに入力されたデータを   WordVBA側が受け取り、処理を行う。 よろしくお願いします。

  • VBでフォームの中にフォームをおきたいんです

    ExcelやWordなどで、親フォームの中に、文章やBOOKが子フォームとして複数表示して親フォーム内の範囲で移動したり、大きさを変えたりできますが、VB6.0でもこのようなフォームを作ることはできるのでしょうか?もし、できるのであれば作り方を知りたいのですがよろしくお願いします。

  • VS2008 VB.NETでのWindowsサービスアプリケーションに

    VS2008 VB.NETでのWindowsサービスアプリケーションについて VS2008 VB.NET でプログラムの勉強と思いWindowsサービス アプリケーションを作っています。 機能は、自分が起動したら指定された別のアプリケーションを 起動するという簡単なものです。 試しに別アプリケーションとしてメモ帳を指定してみました。 XPでは、メモ帳の画面が表示されたのですが、Vistaでは 「対話型サービスアプリケーションの検出」という画面が表示さ れメモ帳の画面が表示されませんでした。 起動の方法は以下のとおりです。 Dim psi As New System.Diagnostics.ProcessStartInfo() psi.FileName=<メモ帳のファイル名> psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal System.Diagnostics.Process.Start(psi) Vistaではこの方法ではいけないのでしょうか。 よろしくお願いいたします。

  • VB.NETのフォームに別のウインドウ型プログラムを組み込む方法

    VB.NETのフォームの一部に、別プログラムを組み込む方法を探しています。 例えば、HTMLにIFRAMEで別のhtmlを表示するように、VB.NETのフォームにexcelやワードの画面を表示させる感じです。 類似の方法をご存知の方がいらっしゃれば、ご教授願います。

  • VBのフォームを・・・

    VB.NETで作ったフォームを、 (1)ブラウザ上で表示する (2)Flashのボタンを押すことによって、VBのフォームを表示する 以上の(1)か(2)の方法は可能でしょうか? 本当に困っています。初心者すぎて申し訳ありませんが、ご存知の方はどうかよろしくお願いします!

  • VB.NETのWebアプリケーションでグラフを書く方法

    VB.NETのASP.NETアプリケーションで折れ線グラフを 表示しようと作っているのですが、 drawlineがうまく行かずグラフが描けません。 Windowsアプリケーションだとうまくいくのですが、 同じことをASP.NETアプリケーションでやると エラーが出てしまいます。 一緒に作っている者は、Webアプリケーションでは drawlineは使えないのかな、と、別の方法を考えようとしているのですが、 どうなのでしょう? ぜひアドバイスをいただけますよう、よろしくお願いいたします。

  • VB.NETのフォームの最大化について

    VB.NETのフォームを最大化できないようにする方法はないでしょうか? 常に同じ大きさにしたいのですが、タイトルバーをダブルクリックすると最大化してしまいます。

  • vb.net 2008にて、アプリ起動時にフォームを非表示にする方法をお教えください。

    dim str as string dim f1 as new form1(str) f1.showdaialog() 上記のように変数を伴って別フォームより、非表示で起動したいフォームを呼び出しております。 vb.netではアプリのロードイベントにて、me.visible =false 等で非表示にできないことをしりました。 そこで、http://dobon.net/vb/dotnet/form/hideformwithtrayicon.htmlを参考にいろいろと試してみましたがだめでした。 フォームを宣言する際、引数を必要としている作りであるため、上記URLの パラメータを指定せずにApplication.Runを呼び出す方法が使えないため、 フォーム最小化、タスクバー非表示の方法を用いてみると、アプリが終了してしまいました。 次に、タイマーを使い、me.visible= falseとすると、その場合もアプリが終了してしまいました。 また、タイマーイベント内にて、フォーム最小化、タスクバー非表示の方法を試してみても、アプリが終了する結果となりました。 フォームがウィンドウ画面から確認できない状態になるとアプリが終了する仕様になってしまったのでしょうか。 また、この現象を回避し、起動時にフォームを非表示にする方法があればお教えください。

専門家に質問してみよう