역시 이번에도 제 상대를 해주실 몰모트는 메모장 되겠습니다 (...)

var
  hNotepad : THandle;
  Option : Integer;
begin
  hNotepad := 0;
  ShellExecute(Panel1.Handle, 'open', 'notepad.exe', '', '', SW_HIDE);
  repeat
    hNotepad := FindWindow(PChar('Notepad'), nil);
    sleep(0);
    Application.ProcessMessages;
  until hNotepad <> 0; //프로그램이 열릴때까지 루프를 돈다.

  Windows.SetParent(hNotepad, Panel1.Handle); //뒤 파라메터가 parent의 핸들
  Option := GetWindowLong(hNotepad, GWL_STYLE);
  Option := Option - WS_CAPTION - WS_BORDER - WS_POPUP;;
  SetWindowLong(hNotepad, GWL_EXSTYLE, Option);

  ShowWindow(hNotePad, SW_SHOWMAXIMIZED);
end;

중점이 되는 부분은 SetParent 함수. Window 의 부모를 바꿔서 내장이 가능하게 합니다.

Ps. 실행될때까지 루프를 돌아서 찾는방법을 쓰고 있습니다. 참 무식한방법인데... 제 머리속에는 다른방법이 안떠올라서 =_=;;;

더 깔끔한 방법을 아시는 분 있으면 답변 부탁드립니다.