![]() |
Sera Posible esto
Saludos
Kiero saber si es posible hacer lo siguiente: Tengo un formulario con una lista de documentos escaneados formato *.TIF y un button al cual le asigno la siguiente instruccion ExecuteFile(Nombre archivo Tif, '', Directorio, SW_SHOW) el resultado de esto me permite visualizar el documento, pero con el visor de imagenes del windows. Mi pregunta es si hay una manera de ke esto sea mostrada en un area del formulario ke yo defina? gracias por su atencion, acepto sugerencias. |
Creo que lo que hace es que se abre el fichero con el programa que hayas predeterminado para abrir ese tipo de archivo desde Windows. Para cambiarlo solo has de pulsar el botón derecho sobre el archivo ( desde el explorador de WIndows o escritorio ) y decirle con que programa quieres que te lo abra por defecto.
Espero haberte ayudado. |
Si quieres que te lo abra en tú formulario, debes utilizar algún componente o activeX desde tú programa.
|
tu sugerencia es interesante, pero como?
|
|
Sí, para ello debes utilizar la API SetParent.
Basta con que busques la ventana de la aplicación que quieres incluir dentro de tu form (con FindWindow) y luego hacer lo siguiente:
|
Disculpa mi ignorancia Neftali
pero cuales son los parametros ke solicita el findwindow trabajo con D7 gracias |
|
Te subí un ejemplo (basado en un ejemplo anterior) en mi página: http://www.delphi.com.ar/source/samples/chproc.zip
Este ejemplo crea un proceso y busca la ventana dentro de el proceso creado, y luego la muestra sobre un panel en la propia ventana. Tendrás que adaptarlo para que carge el editor de imágenes por defecto. Saludos! |
Desconocia estas funciones ( como iotras tantas ... :rolleyes: ), podeis indicarme si funcionan en D4 y/o D6, pues he probado los 2 ejemplos, no no me funcionan.
Muchas gracias. |
Tiene un par de detalles, pero si funciona en Delphi6, simplemente, que al entrar hay que ignorar una propiedad (debe estar creado con D7 o superior) y en D6 no la encuentra y modificar una referencia a:
por ésta:
Ahí va el ejemplo corregido (que te debe funcionar en D6). |
Muchas gracias, ya me funciona perfectamente, estaba tonto... :rolleyes:
Sin abusar, sabes si se puede hacer algo similar con el CMD o con el COMMAND.COM, lo he intentado y no me funciona... Muchas gracias. |
NOTA: Si utilizas la API SetWindowPos podrás conseguir que se ajuste a la posición (0,0).
|
Cambia ésta línea:
por ésta otra (tal vez tu path no sea WinNT sino Windows).
y ésta: por éstas dos.
|
Muchas gracias, me has sido de gran ayuda!!!
|
Una cosilla más, a ver si me puedes ayudar... :rolleyes:, te comento...
El querer ejecutar el CMD.EXE es porque desde mi aplicación he de llamar a un exe, realizado en C++ de Microsoft bajo MSDOS, y resulta que al ejecutarlo se me pone a pantalla completa ( solo en XP ), por supuesto he probado mil cosas, entre ellas crear un acceso directo minimizado, llamar con el ShellExcecute..., incluso probe un programa para colocarlo como un servicio, y siempre cuando se ejecuta, pega el pantallazo. El problema no es el pantallazo, si fuese una sola vez, pero es que este proceso se utiliza bastante, con lo que el operador le estan dando pantallazos todo el día. No puedo sustituir el programa, pues sería excesivamente costoso. Si ya lo estas ejecutando desde Terminal Server, incluso te pregunta Ignorar u Omitir, algo de la configuración de la pantalla ( no lo recuerdo exactamente ). Después de todo el rollo, sabes si puedo ejecutarlo pero sin que se muestre por pantalla, sería excepcional... :p Muchas gracias, un saludo. |
Cita:
Con CallExternal ¿cuál es el problema? |
Cita:
Gracias !!! :D |
Cita:
Cita:
En ese caso podrías utilizar: Y solo buscarías la ventana del proceso creado y no de todos los procesos en ejecución en tu sistema. En el caso que exista otra consola abierta, con un simple FindWindow podrías encontrar la otra y eso no estaría nada bien. Saludos! |
:D Gracias a todos y cada uno de los participantes de este hilo, aunke no me da el resultado esperado, pero de veras agradesco por la buena intencion de todos.
|
La franja horaria es GMT +2. Ahora son las 23:38:14. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi