Pues a mi me funciona perfectamente, no se como es tu código. Debes guardar el Handle de la ventana principal de tu Form2 en una variable global o miembro de Form1.
Fíjate en este código. Simplemente creo un Form que va a contener a "Mi PC", por comodidad de manejar un sólo programa:
Código:
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
HANDLE M_Handle;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
M_Handle = ::FindWindow(0, "Mi PC");
::SetParent(M_Handle, Handle);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
::SetParent(M_Handle, 0);
}
//---------------------------------------------------------------------------
Saludos.