• Viernes 8 de Noviembre de 2024, 06:45

Autor Tema:  Visual Basic y Power Point con Dos Displays  (Leído 2803 veces)

Kapz

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Visual Basic y Power Point con Dos Displays
« en: Lunes 7 de Septiembre de 2009, 21:42 »
0
Hola comunidad entera, saludos desde Colombia al mundo...

Mi problema es que tengo una maquina con dos monitores, el monitor principal y otro que sale  por la salida de S-Video y quiero proyectar diapositivas en el Segundo Monitor mientras trabajo en el primer monitor, el problema es que cuando powerpoint pierde el foco, por decirlo asi, para automaticamente hasta volverlo a tener.

Necesito hacer una aplicacion con VB 6.0 que administre las presentaciones, en pocas palabras que un control me guarde los archivos .pps y con una lista de reproduccion (que ya tengo y es un archivo .bat) los vaya llamando uno por uno y estaba pensando enviarle una combinacion de teclas teniendo en Ultramon instalado (Gestor de displays con funciones avanzadas) desde vb con la funcion Sendkeys "{Ctr + ->}" para que tome lo que hay actualmente en el display (tiene el foco), y lo pase al segundo monitor.

Esto resulta bien, pero cuando lo hago con archivos power point, estos pierden el foco de la barra de tareas y paran hasta volver a tener el foco.

Necesito saber como "obligar a power point desde Vb 6.0" a que no pare las presentaciones cuando pierda el foco

Otro problema que tengo es que tengo un formulario para enviar un email y necesito que funcione desde donde la conexion a internet pasa por un proxy y no tengo idea de como configurar el codigo de VB 6.0 para que funcione con el proxy , lo he probado desde mi casa y si funciona, pero reitero necesito que la aplicacion funcione con el proxy de la universidad. :o

Comunidad de programadores necesito urgente toda la ayuda posible para interactuar desde VisualBasic 6.0 con Powerpoint , Con dos Displays (Monitores), con un proxy y con la automatizacion de listas de reproduccion de videos y presentaciones.

Espero que me haya hecho entender y de antemano les agradesco a todos los buenos programadores que me colaboren con mis problemas ya que soy diseñador de software y en este caso me toca hacer el papel de programador. :brickwall:

Gracias y espero su pronta respuesta

Cristhian David Daza Serna :comp:
Tecnólogo en Análisis y Desarrollo de Sistemas de Información
Email: hiphopcristhian@hotmail.com

Nebire

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: Visual Basic y Power Point con Dos Displays
« Respuesta #1 en: Miércoles 9 de Septiembre de 2009, 21:21 »
0
Tu exposición ha quedado perfectamente clara. Te indico anticipadamente que no aporto una solución a tu problema, tan sólo ideas.

Dado que no domino en profundidad Powerpoint y que powerpoint no es parte del entorno de desarrolo de visual Basic, vamos a ver que se puede hacer...

Intenta abrir la presentación en powerpoint (lo que señalo ahora depende de la versión que tengas instalada, lo que refiero atañe a laversión 2000 (creo, hablo de memoria) y puede que enotra versión debas encontrarlo en otro apartado)... ve al menú presentación, pulsa en el submenú 'Configurar  presentación', en la ventana que se abre en la parte inferior casi a la izquierda del todo hay una opción que a mi me aparece desmarcada, porque sólo tengo un monitor y que reza: 'Mostrar en:' ---- elige el monitor, si tu quieres trabajar en el principal pués las diapositivas deberán ir al monitor secundario.

Además en dicha ventana deberías elegir la opción: 'Presentación autoejecutable'   , frente a la oopción 'Presentación con un orador en directo'

Por defecto todas las presentaciones tienen activado el monitor principal, y powerpoint, Intuyo que, debe interpretar que en un momento dado en el que el programa está activo (tiene el foco) se considera 'monitor principal', digamos virtual, de tal modo que cuando pierde el foco por serlo 'virutal' cesa.

En fin creo que es más alguna opción no muy visible en powerpoint la que debería activarse. En última instancia quizás podrías hacerlo funcionar a las bravas, si arrancas el powerpoint desde tu propio programa con un 'shelllexecute' y manteniendo una referencia del proceso en tu programa para arrancarlo o deternerlo a voluntad (mediante menú, etc..), de este modo arrancado en segundo plano es bastante problable que el comportamiento no sea el mismo que si el parent es el explorer...

También puedes intentar a probar con el 'Asistente para presentaciones portátiles', Este asistente se utiliza en casos en los que no está instalado powerpoint en un equipo, pero no necesariamente esto es imprescindible, el ejecutable se llama powerpoint veiwer ( Ppview32.exe ) y deberías encontrarlo en algun lugar dentro de office, o en el CD-ROM de office si no está instalado. acepta como línea de comandos la ruta de la presentación...
A este efecto, ya de paso te indico como crear lista de presentaciones... basta editar un archivo (a mano o por código), el contenido de este fichero no es otro que rutas completas a archivos de presentaciones (una por línea) entrecomilla las rutas para evitar problemas si hay un espacio en blanco en el nombre o la ruta . Cuando termines el archivo debes renombrarlo con la extensión .lst (de lista).
ejemplo de una lista:
"c:WindowsPresentacion1.ppt"
"d:Mis PresentacionesFebrerofebrero.pps"
/v "c:2020Marzo.ppt"

Opciones de la línea de comando de ppview32
Para aplicar una opción a varias presentaciones, las presentaciones deben ir en la misma línea separadas por un espacio.
/v muestra la advertencia de que una presentación con macros puede ocultar un virus (interesa cuando envias algo a alguien por correo, que se asegure de pasarle previamente el antivirus).
/a es una opción de la línea de comandos de ppview32 para pasar automáticamente de una diapositiva a otra...
/k se ejecutan en el modo exposición...
/l cíclico, se repite en bucle hasta que se pulse la tecla escape.
/r=inicio-fin  especifica que la presentación empieza en la diapositiva numerada  como inicio y finaliza en la indice fin, por ejemplo si la presentación tiene 200 diapositivas  pero lo que vamos a hacer interesa sólo desde la 80 a la 91, escribiríamos la línea deejemplo:  /r=80-91 "C:la presentacion.pps".
Dependiendo de las versiones puede que las opciones sean otras, por ejemplo en este ordenador /k especifica una contraseña y no acepta en la lista las opciones, pero si como una línea de un archivo bat:
c:ppview32.exe /r=3-8 "c:ejemplo de prueba.ppt"

ejemplo: supongamos que (para no hacer la ruta muy larga) el programa ppview32.exe y el archivo lista.lst están ubicados en 'C:'  , una línea de comando para un bat podría ser como está:
c:ppview32.exe "lista.lst"
Se ejecutará powerpoint (versión portable), tomará el contenido del archivo lista.lst y ejecutará una a una las presentaciones... Eso si puedes optar por ejecutar el bat o hacer un shellexecute por código, ya dependiendo del objetivo final...

También recuerdoque en la ayuda de powerpoint, hay un apartado enfocado a los programadores para integrar powerpoint con Visual Basic, quizás allí encuentres más info. Si tu versión de ayuda noincluye dicho apartado me das un aviso por privado y veré de mandártelo de alguna manera.

Siento no haberte podido dar una respuesta clara y definitiva, pero creo que te he ofrecido alternativas e ideas para probar por tí mismo.

Prueba y nos cuentas si el problema se solucionó...

Incluyo una imagen (comprimida) que muestra los objeto powerpoint que se pueden usar con Visual Basic
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
«Ma non troppo»
----> ModoVacaciones = False<----