Tengo un formulario en Visual FoxPro desde el cual intentó embeber un programa de terceros. Usando el siguiente código proporcionado en la página:
Después de crear el form y añadirle un shape con la propiedad visible = .F., y desde el evento init del form o desde un botón:
LOCAL lnResultado, lnHwnd1, lnHwnd2, lnHeight, lnLeft, lnTop, lnWidth
#DEFINE MSG_BOTON_OK 0
#DEFINE MSG_ICONO_ERROR 16
DECLARE INTEGER SetParent IN USER32 ;
INTEGER, ;
INTEGER
DECLARE INTEGER WinExec IN KERNEL32 ;
STRING , ;
INTEGER
DECLARE INTEGER FindWindow IN USER32 ;
STRING, ;
STRING
DECLARE INTEGER SetWindowPos IN user32;
INTEGER, ;
INTEGER, ;
INTEGER, ;
INTEGER, ;
INTEGER, ;
INTEGER, ;
INTEGER
*--- Bloc de Notas. La aplicación que queremos insertar en nuestro formulario
lnResultado = WinExec("NOTEPAD.EXE", 1)
IF lnResultado < 32
=MessageBox("Verifica que el Bloc de Notas esté instalado", MSG_ICONO_ERROR + MSG_BOTON_OK, "ERROR...")
RETURN
ENDIF
*--- Hallamos el "handle" del Bloc de Notas. El Windows busca el Caption de esa aplicación,
*--- así que debemos escribirla exactamente igual
lnHwnd1 = FindWindow(.NULL., "Sin título: Bloc de notas")
*--- Colocamos al Bloc de Notas dentro de nuestro formulario
=SetParent(lnHwnd1, ThisForm.HWnd)
*--- Dimensionamos al Bloc de Notas para que sea igual a nuestro control SHAPE
WITH ThisForm.Shape1
lnHeight = .Height
lnLeft = .Left
lnTop = .Top
lnWidth = .Width
ENDWITH
*--- Hacemos que el Bloc de Notas tenga las mismas dimensiones que nuestro control SHAPE
=SetWindowPos(lnHwnd1, 1, lnLeft, lnTop, lnWidth, lnHeight, 64)
Estoy teniendo dificultades para embeber el programa 'zbarcam.exe' de ZBar. Este programa se ejecuta a través de un archivo .bat incluido ('zbarcam.bat') ubicado en en la carpeta donde está instalado Zbar. ¿Cómo puedo modificar mi código actual en VFP para abrir y embeber correctamente 'zbarcam.exe' a través de este archivo .bat? Agradezco cualquier orientación al respecto.
Un saludo.