2

内部のウィンドウとして既存のプログラム(exeを持っているだけ)のインスタンスを開くことができるプログラムを作成したかった(mdiと呼ばれると信じている)

それは私ができることですか?誰かが私に例を指摘できますか?

ありがとう

4

3 に答える 3

2

多分これはあなたがここで探している答えです。それは行うことができます...与えられたそのリンクのサンプルを見てください。

これがお役に立てば幸いです、よろしく、トム。

于 2009-12-02T18:05:38.237 に答える
0

アプリを起動してそのPIDを保存した後、CBTHookを介して、またはタイマーとGetWindowsを使用して、問題のPIDによってトップレベルのウィンドウが作成されるタイミングを見つけることにより、作成されるウィンドウの監視を開始できます。

次に、SetParentを使用して、そのウィンドウをMDIChildの子にすることができます(MDIChildに直接作成できるとは思えません)。

それはあなたを動かすはずです。その後何に遭遇するのか、私にはよくわかりません。3つのウィンドウがくっついているように見えるように、アプリまたは外部アプリのいずれかの動きを相互に関連付ける必要があると思います...

たぶん、外部アプリ(Get / SetWindowsLong)からキャプションを取り除くことができます。それはそれをより良く見せることができます...

于 2009-12-02T18:07:05.450 に答える
0

Windowsがプログラムを起動すると、その親はデスクトップウィンドウになります。

どういうわけかそれを操作できれば、うまくいくかもしれません。

ただし、ウィンドウでアプリケーションを実行できるようにする必要があるので、それが可能かどうかは疑問です。特にMDI?それに加えて、子ウィンドウで実行することは、「メイン」ウィンドウで実行することとまったく同じではありません。

個々のアプリケーションをタブに配置するアプリケーション(OHという名前は考えられません)があると言っても。Windows 7を使用していない場合は、かなり気の利いたものです。Businessof Softwareフォーラムに参加している人は、Windows7を見つけるのを手伝ってくれるかもしれません。

于 2009-12-02T18:00:11.147 に答える