Programación General > Visual C++
Abrir Programa Externo Desde Boton
x.cyclop:
Agrega system("pause"); y stdlib.h.
spyfly:
Nos hemos explicado mal. Nuestro programa lo que hace es:
1. Pulsamos un boton
2. Abre la ventana de simbolo de sistema
3. Abre el notepad
4 cierra la ventana de simbolo de sistema (el notepad sigue abierto)
Nosotros lo que queremos es que no se llegue a abrir la ventana del simbolo del sistema porque esteticamente no nos gusta el pantallazo que pega.
¿Se podría hacer con algo parecido con onOpenDocument?
Gracias. Un saludo.
SteelX:
Hola no se muy bien que quieres hacer. pero si lo que quires es abrir cualquier aplicacion desde tu programa prueba con
WinExec();
aqui un pequeño ejemplo
--- Código: Text --- WinExec("C:\\Archivos de programa\\InternetExplorer\\IEXPLORE.EXE",SW_MAXIMIZE);
esto abrirá el internet explorer maximizado, puedes abrir el notepad desde aqui, sin la consola.
spyfly:
Hemos probado eso que nos dices. Nos funciona, si que nos abre un archivo txt con el notepad, la usamos así;
WinExec("C:/Windows/notepad.exe experiencia.txt",SW_SHOWNORMAL);
El problema que tenemos ahora es que si el notepad.exe no estuviese en esa ruta no funciona,no?. Nos referimos, a que el windows de otro pc este instalado en otra carpeta diferente (c:\windowsXP). ¿Como podriamos arreglar eso?¿Se podira buscar la ruta automaticamente?
Lo que hemos pensado es copiar el notepad.exe en nuetro directorio donde esta la carpeta debug y donde esté el archivo experiencia.txt. Poniendo:
WinExec("notepad.exe experiencia.txt",SW_SHOWNORMAL);
Si que nos funciona, y como el notepad ocupa poco nos da = añadirlo a nuestro programa. Pero si existiese otra manera mejor pues la utilizariamos.
Ahora nuestro principal problema es que al estar en nuestro programa y ejecutar esa linea:
WinExec("notepad.exe experiencia.txt",SW_SHOWNORMAL);
Se nos muestra la barra de tareas de windows, ¿eso no se puede modificar?¿No se podria mostrar maximizado a la resolucion de la pantalla o que aparezca simplemente por encima de nuestro programa ya que en el nuestro no se ve esa barra.
SteelX:
No hay problema con el notepad.exe ni aunque estuviera en la unidad M\: pues windows es el directorio global de el sistema operativo, asi que si un programa se encuentra alli o en el system32. de seguro se va a ejecutar. Si quieres en inicio->ejecutar. escribe notepad.. y se abre. Si lo que quieres es tenerlo fuera del directorio de windows ya te toca implementar variables de entorno(muchos instaladores traen para configurar esa opcion). pero para probar, las encuentras en el panel de control->sistema->opciones avanzadas, pulsa en el boton variables de entorno.
En esa ventana, en la parte donde esta variables del sistema, editas el valor path y agregas el directorio de la aplicacion que vas a ejecutar y listo. tambien puedes llamar la aplicacion que agregaste al path, desde el ejecutar que esta en inicio.
para que salga maximizado solo colocas SW_MAXIMIZE donde tienes SW_SHOWNORMAL. si quieres ocupar toda la pantalla bueno eso no lo se muy bien en MFC pero con otros c++ es con FULLSCREEN. busca algo relacionado con fullscreen
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa