Ver la Versión Completa : winExec() me produce un pantallazo negro
Matos
25-03-2011, 13:57:53
Buenas tardes.
Tengo el siguiente problema: usando la funcion winExec() y pasandole como prametro sw_hide para que no me muestre el proceso (lo que hago es ejecutar un fichero.bat cualquiera) me produce un pantallazo negro (a pantalla completa) y me pinta lo que hace el .bat, que solo lo veo si le doy a la tecla pause mientras esta la pantalla en negro.
lo que necesitaría es conseguir que no saliese ese pantallazo negro, o bien, si existe alguna otra forma de hacer lo mismo (llamar a un .bat) sin la funcion anterior o el createproccesss (que tambien me ocurre lo mismo)
muchas gracias por vuestra ayuda
Neftali [Germán.Estévez]
25-03-2011, 15:43:58
¿Ya has probado con otros parámetros de visualización eln la llamada?
SW_HIDE
SW_MINIMIZE
SW_SHOWMINIMIZED
Al menos para detectar si hay cambios.
También debes mirar las propiedades que hay definidas por defecto para una ventana MSDOS. Abre una pantalla de MSDOS y desde el menú de sistema hay un acceso a Porpiedades.
Ahí hay una una opción de "pantalla completa". Revisa que no lo estés aplicando esa configuración a todas las ventanas.
Matos
25-03-2011, 16:27:20
todo igual, he probado todas las opciones, incluidas la que muestran una ventana y ni siquiera se ve la ventana, lo que se ve es el pantallazo negro. en dos equipos iguales, en uno sale la pantalla negra y en otro no, la unica diferencia es una impresao hp instalada. ademas este problema me ha pasado ya en varios equipos en la misma situacion.
Neftali [Germán.Estévez]
25-03-2011, 16:59:20
Si quieres, prepara un pequeño proyecto de ejemplo, con lo necesario para probarlo y lo subes.
Podremos probarlo, ver el código y comentarte algo más.
Matos
25-03-2011, 17:18:24
aqui tienes el ejemplo, a ver si me podeís ayudar. muchas gracias
Neftali [Germán.Estévez]
25-03-2011, 17:37:07
Lo he probado y no le veo nada raro.
No veo ninguna ventana negra y hace la copia perfectamente.
Compilado con D6 y ejecutando en un XP.
AÑADO: Ejecutado en una máquina con Windows 7, funciona y no se ve ninguna pantalla negra.
:confused::confused::confused:
Matos
25-03-2011, 17:43:10
claro, ami tambien me funciona perfectamente, pero en un otro equipo que tengo aqui, si me sale el pantallazo negro.... y ya me ha sucedido con otros equipos
el equipo donde falla tiene windows xp, los anteiores (2 o 3 casos) no los recuerdo...
Matos
25-03-2011, 17:44:11
¿Habría alguna forma de hacer lo mismo sin usar winexec o createproccess?
ecfisa
25-03-2011, 18:22:39
Hola Matos.
Salvo un error que me genera Delphi 7 y que soluciono eliminando la línea "Application.MainFormOnTaskbar := True;", el código ejecuta correctamente tál como a Neftalí.
La prueba la hice con Delphi 7 y S.O. Vista.
Un saludo.
Matos
28-03-2011, 10:22:20
se os ocurre alguna otra forma de hacerlo??, el problema es que con ese código, lo que realmente lanzo son comandos de opennsl para generar y evaluar claves de certificados... y de momento no he encontrado otra forma de usar opennssl en delphi
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.