Windowsアプリ 外部プログラムの複数起動

このQ&Aのポイント
  • Windowsアプリを作成することになり、メニューバー内の項目をクリックすると同一exeファイルが複数起動する動作をしたいです。
  • 例として、ファイル(F)のリスト内に「レポート」という項目を作成し、ファイル(F)→レポートと選択し「レポート」をクリックすると、Report.exeを4個起動できます。
  • 開発環境はWindowsXP ProfessionalとVisual Studio.NET 2002、VC++ MFCを使用しています。実現可能ならばSDIとMDIのどちらになるのか、参照するサイトやサンプルプログラム、書籍などの情報を教えていただきたいです。
回答を見る
  • ベストアンサー

Windowsアプリ 外部プログラムの複数起動

Windowsアプリを作成することになり、そのアプリで次の 動作をさせたいと思っています。 ・メニューバー内の項目をクリックすると同一exeファイルが  複数起動する。 ・例として、  ・・「ファイル(F)」のリスト内に「レポート」という    項目を作成し、「ファイル(F)」→「レポート」と    選択し「レポート」をクリックすると、Report.exe    (C:\Program Filesフォルダ内)を4個起動させる。  ・・4個のexeは、別々のウィンドウで表示される。  ・・その別々のウィンドウは、重ねて表示することや、    並べて表示することもできる。 開発環境を下記します。  WindowsXP Professional  Visual Studio.NET 2002  VC++ MFC そこで質問ですが、上記の動作は、  ・実現できますか。  ・実現できるならSDI、MDIのどちらになりますか。  ・実現できるなら参照するサイトやサンプルプログラム、   書籍、ヒントとなる関数やコードなど、なんでも   よろしいのでご存じなことを教えて頂けないで   しょうか。 ご存じの方すいませんがよろしくお願いします。

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

  • ベストアンサー
  • zwi
  • ベストアンサー率56% (730/1282)
回答No.1

参考サイトを調べ切れなかったのでアイデアだけ。 1.方法1 Report.exeのウィンドウ名をFindWindowで探してウィンドハンドルを得る。そのハンドルにウィンドウメッセージを送ることで重ねたり、並べて表示したりを制御する。 Report.exeはSDIかダイアログウィンドウ。 2.方法2 InternetExploerなどと同様にアプリは一つしか起動しない方法。 1つのアプリが複数のトップレベルのSDIウィンドウを持つことで実現する。各ウィンドウがReport.exeと同等の機能を持つ。

orp39ds
質問者

お礼

回答ありがとうございました。 返答遅れてすいません。 2つのアイデアありがとうございます。 参考にさせて頂きます。 とりあえず言えることは、 「SDI」か「複数のトップレベルドキュメント」の どちらかであること。 「MDI」ではないということですね。 内容についてはこれからトライしてみます。

関連するQ&A

  • Excel2000でファイルを複数開くと複数Excelが起動してしまう!!

    御世話になっております。 エクスプローラからファイルをダブルクリックして 開くと開いたファイルの数だけExcelが起動して しまいます。 Excelファイルを複数開いたときにExcelが一つの ままで中でファイルを複数開きたいのです。 (SDIではなくMDIとして開きたい。) 理由は多数のファイルを開くとメモリ不足になって しまい困っているからです。 回避方法を教えて下さい。 試したこととしては。。 Excelのオプションで表示タブで 「ウィンドウをタスクバーに表示」を オフにしても回避できませんでした。 <環境> 1.OSはW2K 2.Excel2000 3.エクスプローラのファイルタイプ 拡張子「xls」のopenオプション "C:\Program Files\Microsoft Office\Office\Excel.exe" "%1" DDEを使うはオフ (多少いじりましたが駄目でした) 以上

  • 複数のプログラムを一度に起動で更に細かく起動させる方法

    バッチファイルの作成で複数のプログラムを一度に起動させることは出来るのですが、これだと1つ1つのアプリケーションを起動させることができるだけで起動させた後の動作ができません。 起動したアプリケーションに自動で指定した動作をさせたいというのはできるのでしょうか? 例:IEを起動して「ファイル(F)→新しいタブ(T)」のメニューを自動で選択するとか ようは、マウスで操作できるところをコマンドを使っても同じような操作が可能なのか教えてください。

  • 【VB2005】別のプログラムから別のプログラム起動

    "A"というVB2005で、作成したプログラムがありまして、 メインのフォームがあり、 そこにボタンがあります。 Shellの関数を使って、クリックイベントで、 指定したExe"B"を立ち上げます。 そのExe"B"は、VB2005で作成したオリジナルのプログラムです。 プロジェクトは別で作った物と考えてください。 Exe"B"を起動した画面を[フォーム1]と考えて、 ボタンがあり、クリックすると 別の[フォーム2]が表示するはずなのですが、 特にエラーも掴まずに、Showで開くことができません。 しかし、Exe"B"からダイレクトに起動させて ボタンをクリックしたら[フォーム2]が表示されます。 どうしたら、Exe"A"からExe"B"を起動して Exe"B"からフォーム2を呼び出すことができるか、 考えられる要因などをアドヴァイスして頂けたら助かります。

  • 複数プログラム一発起動

    こんばんわ。お伺いします。 複数プログラムを一発起動できるプログラム、 を探しています。 所謂「ランチャー」だと思いますが、 中々理想に合ったものが見つかりません。 ご紹介頂ければ幸いです。 ---------------------------------------------- 「理想」は、 「デスクトップ上のアイコンをクリックすると、 対応した複数ファイルがボン、ボン、ボン、 と起動してくれる。わー、楽チン♪」 です。こんな流れを期待しています。 (1)一括で使うファイルA,B,Cがある。 (2)普段は、それぞれショートカットをつくって、  一つのフォルダにまとめて入れて、  順番にクリックして起動して使っている という状態から、 (3)プログラムX導入 (4)プログラムXに、上記ファイルA,B,Cを放り込む。 (5)プログラムXが「ファイルA,B,Cを一発起動するアイコンX」  を作成する。 (6)それ以降、アイコンXをクリックすると、  一発でファイルA,B,Cが開くようになる という状態へもって行きたい、です。 「ランチャーを起動しておいて、ボタンを押す」 ではなく、あくまで、 「デスクトップのアイコンXから、一発で複数起動」 へもって行きたいです。 説明が上手く出来なくて申し訳ありません。 「あ、それなら、これはいかがかな?」 とお奨めいただければ、幸いです。 ご一読感謝いたします。 それでは

  • C#でD&D時に同一アプリを複数起動したい

    XXX.exeというアプリがあります。 このアプリは、フォーム1つからなり、1ファイルを読み込んで、対象の行を抽出し、1つのウィンドウ上に表示する簡単なプログラムです。 【やりたい事】 XXX.exeに複数ファイルをドラッグ&ドロップ(以下D&D)した時に、D&Dした数だけウィンドウが開く様にしたいです。 イメージとしては、テキストファイルを複数選択し、エンターキーを押すとメモ帳が複数起動する様な動作をD&Dで行えたらと思います。 (このプログラムも、現状、複数ファイルを選択し、エンターキーを押すことで複数起動ができるのですが、やりたい事としてはD&Dで複数ウィンドウを開きたく思います。) "別プロセス 起動"とか"ドラッグ&ドロップ 複数ファイル 起動"とか色々調べてみたのですが、二十起動禁止のものしか見つからりませんでした。 このような類のソフトは、たくさんあると思うのでもっと簡単にできそうな感じがするのですが。 どうなのでしょうか? どのようにすれば良いかご存知の方、アドバイス宜しくお願いいたします。

  • アプリ起動時にダイアログも開くには?

    <環境> WIN98 VC++6.0 MFC SDIにて アプリ起動時に、SDIは非表示にしているおり、さらに同時にダイアログも非表示で開きたいのですが、ダイアログのコードはどこに書けばよいのでしょうか?

  • windowsアプリについて

    windowsアプリ(exeファイルを起動するもの)について質問です。 共有サーバーにあるエクセルを起動するとクライアント側で編集したりできますが、それはクライアント側にもエクセルが入っているからでしょうか? 自作のアプリ(exeファイル)を作って共有サーバーのみに置いた場合はクライアント側で実行できるのでしょうか?

  • 一つのショートカットで2つのプログラムを起動できる?

    こんばんは。 WindowsXPを使っています。デスクトップにプログラムのショートカットを置いていますが、1クリックで2つ以上のプログラムを同時に起動したいと考えています。 これは、”プログラムのショートカット”では無理だろうとは思っていまして、batファイルを作ってみました。 例: test.bat -----------------以下コード----------------- @echo on C:\sample.exe C:\sample2.exe -----------------以上コード----------------- このbatファイルを実行したところ、 sample.exeを終了した後で、sample2.exeが立ち上がりました。 当たり前と言えばそうなのかもしれないですが…。 どうにかして、sample.exeの終了を待たずにsample2.exeを起動する事(同時起動)をやる方法はないのでしょうか? あればbatファイルにこだわりはありません。 困っています。よろしくお願いいたします。

  • プログラムがほとんど起動しません

    プログラムが動作しなくなりました! なんとCドライブにあるプログラムまでも立ち上がりません。 いまIEはこうやって書きこめていますが、 WMPはエクスプローラから特定ファイルを指定して 右クリックしてプログラムの指定でWMPを指定しないと ファイル名をクリックしただけでは立ち上がらなくなりました。 どこをいじったか記憶にありません。 何かのDLL(関連付け関係を記述しているもの)がいたずらしているのでしょうか? スタートメニューから今までのソフトすべて立ち上がりません。 プログラム格納ドライブのD/E/F/Gなどがずれてしまったのが原因かと思いまして プロパティで起動パスを変更しても立ち上がりません。 お知恵を拝借願います

  • 古いプログラムをVBで書き直して新OSで使えますか

    古いプログラムをVBで書き直して新OSで使えますか 友人が作成したプログラムがあります。Windows95全盛時に同システムで動作するように作ったプログラムです。 製品のCDの中のexeファイルが画像のランチャになっていて、同じCDの中の画像を見るだけのものなのですが、 Windows Vista,7では動作しません。 exeファイルをダブルクリックしても一瞬スプラッシュ画面が表示されるだけで、起動しません。エラーも出ません。 このexeファイルはインストールもできるので、管理者権限でインストール、管理者権限で実行、 Windows Vista,7でWindows XP以前の互換モードで実行も試しましたが、起動しませんでした。 また、VB○Runtimeも様々なバージョンを入れてみましたが、動きませんでした。 友人によると、現行製品のVBを買ってきて、exeファイルや構成プログラムを読み込んで書き出せば、 Windows7でも動くexeファイル等ができあがるのではないかとのことなのですが、そんなことができるのでしょうか。 念のため、プログラムの著作権は友人にあります。また友人はPC操作が難しい状況です。