سلام
من با کد زیر و فشار Ctrl+Q میتونم یه دکمه رو به پنجره زیر مکان نما منتقل کنم.
  TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
Procedure WMHotkey( Var msg: TWMHotkey ) ;message WM_HOTKEY;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterHotkey (Handle, 1, MOD_Control, Ord('Q'));
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotkey( Handle, 1) ;
end;
Procedure TForm1.WMHotkey( Var msg: TWMHotkey ) ;
Begin
If msg.hotkey = 1 Then
Windows.SetParent(Button1.Handle,WindowFromPoint(M ouse.CursorPos))
End;


تا اینجا فهمیدم بعد از این کار نمیشه با فشار دکمه بستن پنجره برنامه برنامه رو ببندم و باید قبلش اون برنامه که دکمه رو بهش منتقل کردم ببندم.اما اصلا این تغییر والد دکمه کار خطرناکی نیست؟باعث نمیشه ویندوز قاطی کنه، کامپیوتر اسم خودش رو یادش بره یا بیدار شه ببینه مرده؟
برای دلیلی انجام این کار برام مفیده.به خاطر همین واقعا جواب رو میخوام.