createProcessによって作成されたプロセスを別のウィンドウ内で開く方法はありますか?

StackOverflow https://stackoverflow.com/questions/3775229

質問

メインプロセスでcreateProcessを使用してGUIアプリケーションを開き、メインプロセス内から作成したウィンドウにGUIディスプレイを作成できるようにしたいと考えています。誰かがこれを達成する方法を知っていますか?ありがとう!

役に立ちましたか?

解決

両方のアプリケーションを制御している場合は、はい。

これは、スクリーンセーバーがスクリーンセーバーコントロールパネルに表示される方法です - コントロールパネルはコマンドラインのダイアログウィンドウを通過し、.scrファイル(単なる単純なexe)は、与えられたhwndを使用して子供としてウィンドウを作成します。親。

以前に書かれたトップレベルのウィンドウをキャプチャし、独自のフレーム内に存在することを強制することは、十分にサポートされていません。

繰り返しますが、それはあなたが簡単に試すことができるものです:私は空のフレームウィンドウを作成し、メモ帳のコピーのためにFindWindowを作成し、メモ帳ウィンドウを私のフレームの子供に補償したテストアプリを書きました。

そのため、少なくともこの単純なシナリオでは、保証はありません。独自のフレームスタイルを変更するより複雑なアプリケーションは非常によく壊れている可能性があり、さらに異なるスレッドにチャイルドウィンドウと親ウィンドウがあると、デッドロックの可能性が導入されます。

他のヒント

いいえ、これはできません。

うまくいくかもしれない何か...しかし、あなたはプロセスを開始することができ、その後、ウィンドウハンドルを使用すると、ウィンドウに一連の変更を適用してフレームを外します。次に、ウィンドウ内の他の配置コントロールの位置に移動でき、イベントを移動/サイズ変更すると、この子ウィンドウもサイズを変更できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top