- - PR -
C#でForm内で他アプリケーションを使う方法
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-08-04 23:28
自作したForm内で他のアプリケーションを実行する方法はないですか?
うまくいえないのですが、IEでpdfを開くとIEのなかにAcrobatが開くような感じにしたいんですけど。 また、C#ではなくMFCでのやり方でも構いません。 よろしくお願いします。 | ||||||||
|
投稿日時: 2003-08-05 01:03
こんばんは、meiです。
実行したい「他のアプリケーション」次第という回答になります。 呼び出すアプリケーションがActiveXコントロール化されていれば可能ですが、 そうで無ければ、ちょっと厳しいと思います。 #起動だけなら出来るでしょうが、コントロール出来ないと・・・ 因みに例で挙がってるAcrobatは実行可能です。 ↓ツールバーのOpenボタンでPDFファイルをFormに表示する簡単な例
| ||||||||
|
投稿日時: 2003-08-05 19:33
回答ありがとうございます。
以下の点でもう一度質問があります。
ActiveX化されているかどうかはどうやって調べれるのでしょうか?
Form内で起動ができるということですか? できるようでしたら、どのようにしたしたらできるか教えていただけませんか? よろしくお願いします。 | ||||||||
|
投稿日時: 2003-08-05 20:39
こんばんは、meiです。
VisualStudioのメニューから、 プロジェクト(P)->参照の追加(R)でダイアログを表示して、 COMタブを開けば調べられると思います。 ただし、使い方のドキュメント等はおそらく無いと思いますので、 関数名で機能を想像しながらの試行錯誤になると思います。
Form内で起動するというより、一緒に動作するって感じです。 例えば、デスクトップアクセサリーで、マスコットが他のアプリケーションのウィンドウに乗っているようなのがあります。 私は実際に作ったことはないので想像ですが、相手アプリケーションのウィンドウメッセージをフックしたりするのではないでしょうか。 | ||||||||
|
投稿日時: 2003-08-05 22:45
試しにフックを実験してみましたが、上手くいきませんでした。
C#ではなく、C/C++でDLLを作る必要があるかも知れません。 ↓C#のLibraryとして以下のようにやってみたけど、失敗・・・
[ メッセージ編集済み 編集者: mei 編集日時 2003-08-05 22:54 ] | ||||||||
|
投稿日時: 2003-08-06 01:05
C/C++はあまり使ったことがないのでDLLを作る手間を考えたら、他アプリケーションに頼らず、必要な機能だけ自分で実装した方が早そうですね。多分・・・ 実験までしていただき、ありがとうございました。 |
1