Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-06-2015
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.744
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Quizás esto te sirva: http://www.clubdelphi.com/foros/showthread.php?t=50300
Responder Con Cita
  #2  
Antiguo 10-06-2015
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.744
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Aquí hay otra opción http://stackoverflow.com/questions/7...-a-delphi-form

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  Rec: TShellExecuteInfo;
const
  AVerb = 'open';
  AParams = '';
  AFileName = 'Notepad.exe';
  ADir = '';
begin
  FillChar(Rec, SizeOf(Rec), #0);

  Rec.cbSize       := SizeOf(Rec);
  Rec.fMask        := SEE_MASK_NOCLOSEPROCESS;
  Rec.lpVerb       := PChar( AVerb );
  Rec.lpFile       := PChar( AfileName );
  Rec.lpParameters := PChar( AParams );
  Rec.lpDirectory  := PChar( Adir );
  Rec.nShow        := SW_HIDE;

  ShellExecuteEx(@Rec);
  WaitForInputIdle(Rec.hProcess, 5000);

  fNotepadHandle := Windows.FindWindow( 'Notepad', nil );
  Windows.SetParent( fNotepadHandle, Handle );

  Resize;
  ShowWindow(fNotepadHandle, SW_SHOW);
end;

procedure TForm1.FormResize(Sender: TObject);
begin
  if IsWindow(fNotepadHandle) then begin
    SetWindowPos(fNotepadHandle, 0, 0, 0, ClientWidth, ClientHeight,
      SWP_ASYNCWINDOWPOS);
  end;
end;
Responder Con Cita
  #3  
Antiguo 10-06-2015
albelg albelg is offline
Miembro
NULL
 
Registrado: may 2015
Posts: 21
Poder: 0
albelg Va por buen camino
gracias hermano por responder pero me da error en la linea:
Código Delphi [-]
  fNotepadHandle := Windows.findwindow('notepad',nil);
?que tipo de variable es fnotepadhandle?

Última edición por nlsgarcia fecha: 10-06-2015 a las 17:46:42. Razón: Formateo y Sintaxis Delphi
Responder Con Cita
  #4  
Antiguo 10-06-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.107
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Recuerda poner los tags al código fuente, ejemplo:



Gracias
Responder Con Cita
  #5  
Antiguo 10-06-2015
aposi aposi is offline
Miembro
 
Registrado: dic 2006
Posts: 148
Poder: 18
aposi Va por buen camino
Cita:
Empezado por albelg Ver Mensaje
gracias hermano por responder pero me da error en la linea:

fNotepadHandle:=Windows.findwindow('notepad',nil);

?que tipo de variable es fnotepadhandle?
Código Delphi [-]
  fNotepadHandle : HWND;

Última edición por nlsgarcia fecha: 10-06-2015 a las 17:47:29. Razón: Sintaxis Delphi
Responder Con Cita
  #6  
Antiguo 10-06-2015
albelg albelg is offline
Miembro
NULL
 
Registrado: may 2015
Posts: 21
Poder: 0
albelg Va por buen camino
Cool

ya me corrio el programa, pero lo que necesito es que el .exe me abra dentro de mi formulario y no de manera independiente. gracias de antemano
Responder Con Cita
  #7  
Antiguo 10-06-2015
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.744
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
A mi si que me funciona correctamete:
Temas a tener en cuenta:
fNotepadHandle es del tipo HWND y debe ser global al formulario en el que se trabaja.
En mi caso
Código Delphi [-]
type
  TFMPruebas = class(TG2KForm)
    ...
  private
     { Private declarations }
     fNotepadHandle : HWND;
  public
     { Public declarations }
  end;

Yo he creado un botón y un panel en donde tiene que estar el Notepad.

El botón tiene el código que enivé y rellena la variable fNotepadHandle.
El panel tiene e código de OnResize que utiliza la variable global fNotepadHandle.
Imágenes Adjuntas
Tipo de Archivo: png NotepadDentroAplicacion.png (43,4 KB, 29 visitas)
Responder Con Cita
  #8  
Antiguo 10-06-2015
albelg albelg is offline
Miembro
NULL
 
Registrado: may 2015
Posts: 21
Poder: 0
albelg Va por buen camino
Question

disculpa si mi pregunta es de novato pero como tu creas el panel para montar el notepad. gracias y por favor no pierda la paciencia conmigo
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Abrir un exe externo a mi aplicacion pero con estilo fsStayOnTop rgstuamigo Varios 6 01-04-2009 21:22:02
Abrir un fichero externo jocey Varios 3 05-08-2008 22:05:53
Abrir una aplicacion extena dentro de la mia grone35 Varios 2 17-08-2006 18:02:42
programa externo hugoacosta API de Windows 2 17-04-2006 19:44:57
Ejecutar un programa externo desde un programa de Delphi Roger_Fernandez Varios 3 02-09-2004 18:05:36


La franja horaria es GMT +2. Ahora son las 16:34:53.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi