![]() |
winExec() me produce un pantallazo negro
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 |
¿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. |
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.
|
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. |
1 Archivos Adjunto(s)
aqui tienes el ejemplo, a ver si me podeís ayudar. muchas gracias
|
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: |
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... |
¿Habría alguna forma de hacer lo mismo sin usar winexec o createproccess?
|
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. |
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
|
| La franja horaria es GMT +2. Ahora son las 02:18:16. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi