silverpot请进.同样是关于子窗体的有关问题

silverpot请进.同样是关于子窗体的问题
C/C++ code
//---------------------------------------

#include <vcl.h>
#pragma hdrstop
#include "assert.h"
#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------
HWND   GetDesktopListViewHandle(void)  
{  
  HWND   hResult;  
  hResult=::FindWindow("ProgMan",NULL);  
  hResult=::GetWindow(hResult,GW_CHILD);  
  hResult=::GetWindow(hResult,GW_CHILD);  
  return   hResult;  
}
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------

void __fastcall TForm1::Btn1Click(TObject *Sender)
{
    ::SetParent(Form2->Handle,GetDesktopListViewHandle());
    Form2->Show();       
}
//---------------------------------------
 


1.子窗体不随主窗体最小化.
2.子窗体停留在桌面.

这段代码做到了这2点.但是会造成一个新的困扰:
From1在最小化后,无法复原....也就是说,在FROM2在桌面的情况下,FROM1无法恢复到窗体状态.

------解决方案--------------------
我再去xp下测试测试,在我win7下是正常的。

标题上不要挂我ID啊,我怕会影响高手帮你解答问题的