Necesito desactivar el botón de cerrar en la ventana de la consola de una consola de estudio visual aplicación escrita en C#. Quiero que la aplicación se ejecute hasta que complete y el usuario no debería poder detenerla cerrando la ventana de la consola. Estoy utilizando Visual Studio 2010¿Cómo puedo desactivar el botón Cerrar de la ventana de la consola en una aplicación de consola de estudio visual?
Respuesta
He aquí un ejemplo de cómo deshabilitar el botón de cierre en la ventana de la consola:
class Program
{
private const int MF_BYCOMMAND = 0x00000000;
public const int SC_CLOSE = 0xF060;
[DllImport("user32.dll")]
public static extern int DeleteMenu(IntPtr hMenu, int nPosition, int wFlags);
[DllImport("user32.dll")]
private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
[DllImport("kernel32.dll", ExactSpelling = true)]
private static extern IntPtr GetConsoleWindow();
static void Main(string[] args)
{
DeleteMenu(GetSystemMenu(GetConsoleWindow(), false),SC_CLOSE, MF_BYCOMMAND);
Console.Read();
}
}
¿Qué tal hacer clic derecho en la aplicación en la barra de tareas y luego seleccionar cerrar? – RvdK
Gracias. Funciona como un amuleto. Aunque, como señaló PowerRoy, la ventana de la consola aún se puede cerrar desde la barra de tareas, estoy contento con la solución dada. ¿Podría explicar brevemente qué hace realmente el código? – vjain27
@ vjain27: Todo está en msdn :) [GetConsoleWindow] (http://msdn.microsoft.com/en-us/library/ms683175%28v=vs.85%29.aspx) Recupera el identificador de ventana utilizado por la consola asociado con el proceso de llamada. [GetSystemMenu] (http://msdn.microsoft.com/en-us/library/ms647985%28v=vs.85%29.aspx) Devuelve el control del menú de Windows. Y [DeleteMenu] (http://msdn.microsoft.com/en-us/library/ms647629%28VS.85%29.aspx) Elimina el elemento de menú especificado. Y, finalmente, constantes que puede encontrar [aquí] (http://www.pinvoke.net/default.aspx/user32.deletemenu). – Reniuz
- 1. Desactivar la ventana de la consola que muestra
- 2. ¿Comando para cerrar una aplicación de la consola?
- 3. Mostrar/Ocultar la ventana de la consola de una aplicación de consola C#
- 4. Visual Web developer - aplicación de consola, cómo
- 5. Ocultar ventana de la consola en la aplicación de consola C#
- 6. matar limpiamente una aplicación de consola desde el interior de un grupo de aplicaciones de consola
- 7. Ejecutar aplicación de consola desde otra aplicación de consola
- 8. Aplicación de consola C++, ocultando la barra de título
- 9. salida de la consola Desactivar en subprocess.Popen en Python
- 10. cómo configurar la ventana de la consola visual studio de una vez por todas
- 11. ¿Cómo evitar que se cierre la ventana de la consola cuando se ejecuta una aplicación de consola?
- 12. Application.Current "null" en la aplicación de consola
- 13. ¿Cómo abrir la ventana de la consola en Eclipse?
- 14. ¿Cómo establecer una ventana de aplicación de consola para ser la ventana más alta (C#)?
- 15. Menú de clic derecho en la aplicación de consola
- 16. ¿Cómo puedo cambiar el ícono de una aplicación de consola en Visual Studio?
- 17. ¿Cómo construyo una aplicación de consola VB6?
- 18. ¿Cómo obtengo el control de la ventana de una aplicación de consola?
- 19. redirige la consola a la ventana de salida de depuración de Visual Studio en app.config
- 20. GCC/C ¿cómo ocultar la ventana de la consola?
- 21. ¿Cómo puedo cambiar el ancho de una ventana de la consola de Windows?
- 22. . Aplicación de consola .Net que no muestra una consola
- 23. que muestra el porcentaje en la aplicación de consola .net
- 24. ¿Cómo puedo desactivar el controlador de consola predeterminado, mientras uso la API de registro de Java?
- 25. traer una ventana de consola al frente en C#
- 26. ¿Cómo deshabilitar el botón de cerrar en C?
- 27. System.Drawing.Color en la aplicación de consola
- 28. ¿Cómo puedo usar System.Web.Caching.Cache en una aplicación de consola?
- 29. Cómo agregar el archivo App.Config en la aplicación de consola
- 30. GUI de la aplicación de consola
También necesitará para bloquear botón derecho del ratón sobre la aplicación en la barra de tareas y seleccione 'cerca'. Y tal vez el administrador de tareas? – RvdK