1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
   | procedure TForm1.Button4Click(Sender: TObject); 
const 
  TimeOut = 10000; // 10 secondes 
var 
  h: THandle; 
  t: DWORD; 
begin 
  // On lance la calculatrice 
  ShellExecute(self.Handle, 'Open', 'calc.exe', nil, nil, SW_SHOWNORMAL); 
 
  // On attend un peu jusqu'à ce que la fenêtre de la calculatrice soit visible 
  h:= 0; 
  t:= GetTickCount; 
  while (h = 0) and (GetTickCount - t < TimeOut) do 
  begin 
    h:= FindWindow(nil, 'Calculatrice'); 
    Application.ProcessMessages; 
  end; 
 
  if h <> 0 then 
  begin 
    // On change la taille de la fenêtre 
    SetWindowPos(h, 0, 0, 0, 320, 200, 0); 
 
    // On change le parent de la fenêtre par notre panel (par exemple) 
    Windows.SetParent(h, panel1.Handle); 
  end; 
end; | 
Partager