He hecho un pequeño programa en C# que quiero ejecutar en segundo plano y solo debe aparecer cuando se presiona una cierta combinación de teclas. ¿Cómo puedo hacer esto?¿Desarrolla un programa que se ejecuta en segundo plano en .NET?
Respuesta
Existen al menos tres maneras de hacer esto:
clásico servicio de Windows aplicación. El artículo "Creating a Basic Windows Service in C#" de CodeProject lo ayudará. En ese caso, usa el espacio de nombre
System.ServiceProcess
. Por cierto, en ese caso, debe leer el artículo "System.ServiceProcess Namespace" de MSDN. Aquí hay una cita breve:El espacio de nombres System.ServiceProcess proporciona clases que le permiten implementar, instalar y controlar las aplicaciones de servicio de Windows. Los servicios son ejecutables de larga ejecución que se ejecutan sin una interfaz de usuario.
residente en memoria Programa. Pero esto es casi imposible de hacer con C#. Use C++ o una C mejor para este propósito, si lo desea. Si quiere buscar solo, use la palabra clave
TSR
.La última es una sucia. Simplemente cree una aplicación sin formato C# y try en hide desde el Administrador de tareas.
una pregunta. ¿Puedo agregar una GUI al servicio de Windows? –
No, pero puede crear una aplicación GUI separada para interconectar con un servicio – gahcep
¿Alguna guía sobre cómo puedo hacer eso? –
Para permitir que el programa sea completamente invisible, creo, una mala idea. Entonces el usuario no puede integrarse con el programa. recomendaría colocarlo en la bandeja del sistema (un icono junto al reloj de Windows)
trayIcon = new NotifyIcon();
trayIcon.Text = "My application";
trayIcon.Icon = TheIcon
// Add menu to tray icon and show it.
trayIcon.ContextMenu = trayMenu;
trayIcon.Visible = true;
Visible = false; // Hide form window.
ShowInTaskbar = false; // Remove from taskbar.
Vigilar el teclado se puede usar el gancho de teclado de bajo nivel (see example) o adjunte una hootkey (See example)
¿Qué tal las teclas adhesivas? ¿O la herramienta Lupa? Hay algunas posibilidades interesantes ... (con la condición de que en realidad no se "ejecuten en segundo plano", AFAIK) –
Bueno, no es un programa comercial que estoy tratando de aprender. El progarm tendría una GUI la primera vez que se ejecuta, luego se ejecutaría en segundo plano y solo se volvería visible una vez que se presione una cierta combinación de teclas. –
Si Realmente quiero crear un programa que realmente se ejecute en segundo plano, intente crear un servicio de Windows. Está ahí si al crear un nuevo proyecto
ok, he buscado una búsqueda web rápida en el servicio de Windows y la wikipedia dice que un servicio de Windows no requiere la intervención del usuario. Tal vez podría apuntar claramente mi requerimiento. El programa debe tener una GUI la primera vez que se ejecuta. Después, solo aparecerá cuando se presione una cierta combinación de teclas. ¿Es posible hacer una GUI con el servicio de Windows? –
Puede crear una aplicación de servicio de Windows. Se ejecuta como un proceso de fondo. Sin interfaz de usuario Esto también puede comenzar automáticamente cuando se inicia la computadora. Puede ver el resto de los procesos en segundo plano en el Administrador de tareas o puede escribir services.msc en Símbolo del sistema.
Esto podría ayudar. http://msdn.microsoft.com/en-us/library/9k985bc9%28v=vs.80%29.aspx
Una solución rápida y sucia (creo que la plantilla Aplicación de servicio de la ventana no está disponible en Visual Studio Express y Standard):
iniciar una nueva aplicación de Windows Forms. Agregue una nueva clase a la solución y escriba el código que desea dentro de ella.
Regrese al diseñador de formularios, establezca la propiedad WindowState en Minimized y agregue un evento Load al formulario. En el controlador de eventos ocultar el formulario y llame a su clase:
private void Form1_Load(object sender, EventArgs e)
{
this.Hide();
MyNewClass mynewclass=new MyNewClass();
}
La aplicación no aparece en la barra de tareas y que no lo ven cuando se pulse la tecla Alt + Tab.Puede añadir un icono de la bandeja del sistema para que si lo desea, al igual que magol escribió:
NotifyIcon trayIcon = new NotifyIcon();
trayIcon.Icon=new Icon(@"C:\iconfilename.ico");
trayIcon.Visible = true;
Crear una aplicación de Windows Forms, Form1 y eliminar
Program.cs Modificar Application.Run(new Form1());
a Application.Run();
- 1. Aplicación que se ejecuta en segundo plano
- 2. mantener aplicación que se ejecuta en segundo plano
- 3. Programa Java ejecutándose en segundo plano
- 4. ¿Cómo creo un hilo que se ejecuta todo el tiempo en segundo plano en un sitio web .net?
- 5. shell_exec no se ejecuta en segundo plano, ¿alguna otra solución?
- 6. significado de "aplicación no se ejecuta en segundo plano"
- 7. Cómo puedo crear una aplicación en WPF que se ejecuta en segundo plano
- 8. Limitar el tiempo que un programa se ejecuta en Linux
- 9. Es un programa que se ejecuta en modo de compatibilidad
- 10. Cómo hacer que mi programa sea un proceso en segundo plano
- 11. Cómo ejecutar una aplicación de consola .NET en segundo plano
- 12. ¿Se ejecuta PHP en segundo plano cuando el navegador está cerrado?
- 13. Depurando tareas en segundo plano
- 14. ¿Cómo hacer un alias de un comando que acepta un argumento y se ejecuta en segundo plano?
- 15. Evitar que se ejecute la tarea en segundo plano dispatch_after()
- 16. ¿Cómo se inicia un proceso en segundo plano en Perl?
- 17. ¿Cómo verificar desde un programa en segundo plano si se presionó la tecla o la combinación?
- 18. iOS procesado en segundo plano
- 19. php ejecutar un proceso en segundo plano
- 20. Can Emacs de comandos se ejecutan en segundo plano
- 21. ios: bloquea los bloques en segundo plano y se ejecuta cuando la red está disponible
- 22. iPhone - Cambio de la configuración de la aplicación mientras la aplicación se ejecuta en segundo plano
- 23. Aplicación WPF aún se ejecuta en segundo plano después de cerrar
- 24. Inicie un proceso en segundo plano en Linux con C
- 25. ¿Cómo manejar los errores de AVPlayer mientras la aplicación se ejecuta en segundo plano?
- 26. Enviar comando a un proceso en segundo plano
- 27. ¿Cómo se ejecuta el comando como proceso en segundo plano con ADB?
- 28. AudioQueueStart falla cuando la aplicación iphone se ejecuta en segundo plano iOS4.0
- 29. ¿dónde va la salida cuando se ejecuta como proceso en segundo plano?
- 30. ¿Cómo iniciar y ejecutar un script externo en segundo plano?
aplicación de servicio de ventana - http://msdn.microsoft.com/en-us/library/zt39148a(v=vs.80).aspx – adatapost
¿Ha mirado esta respuesta: http://stackoverflow.com/questions/2499095/how-to -assign-a-shortcut-key-something-like-ctrlf-to-a-text-box-in-windows-fo – Kane