Ho un'applicazione console che sto utilizzando per eseguire processi pianificati tramite l'utilità di pianificazione di Windows. Tutte le comunicazioni da/verso l'applicazione sono in e-mail, registrazione degli eventi, registri di database. C'è un modo per eliminare la finestra della console?. Applicazione console non in grado di visualizzare una console
risposta
Sicuro. Costruiscila come un'app Winforms e non mostrare mai il tuo modulo.
Basta fare attenzione, perché non è più un'app per console e ci sono alcuni ambienti in cui non è possibile utilizzarlo.
Perché non si rende l'applicazione un servizio di Windows?
Lavori non pianificati! = Servizio Windows. A meno che non stia utilizzando l'e-mail per avviare l'elaborazione, nel qual caso un servizio è un'opzione migliore. –
Sì, sono già stato in quella strada. Io uso per creare lavori programmati usando l'infrastruttura di servizio, ma alla fine mi sono reso conto che farlo in questo modo comporta un sacco di codice non necessario e aggiornamenti difficili. In breve, ricrea un'infrastruttura che l'utilità di pianificazione ha fornito gratuitamente! – Jeff
Va bene, ma non vedo ragioni per sviare la domanda di Badaro. –
E 'un hack, ma il seguente post sul blog descrive come è possibile nascondere la finestra della console:
http://expsharing.blogspot.com/2008/03/hideshow-console-window-in-net-black.html
Molto bella scoperta. Lo userò più di una volta in futuro. Grazie Philippe. A proposito, non penso che invocare user32.dll sia un hack se non è nel framework .Net. È solo "come è fatto". – philologon
Borrowed da MSDN (link text):
using System.Runtime.InteropServices;
...
[DllImport("user32.dll")]
public static extern IntPtr FindWindow(string lpClassName,string lpWindowName);
[DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
...
//Sometimes System.Windows.Forms.Application.ExecutablePath works for the caption depending on the system you are running under.
IntPtr hWnd = FindWindow(null, "Your console windows caption"); //put your console window caption here
if(hWnd != IntPtr.Zero)
{
//Hide the window
ShowWindow(hWnd, 0); // 0 = SW_HIDE
}
if(hWnd != IntPtr.Zero)
{
//Show window again
ShowWindow(hWnd, 1); //1 = SW_SHOWNORMA
}
Schedule l'esecuzione dell'attività come utente diverso dal tuo account e non si aprirà una finestra. . .
Configurare semplicemente l'operazione pianificata come "Esegui se l'utente è connesso o meno".
- 1. Applicazione console non più console dopo ILMerged
- 2. Applicazione console non in chiusura
- 3. . Applicazione console console nel vassoio di sistema
- 4. Applicazione console 'avanzata'
- 5. cerca cartella in Applicazione console
- 6. Applicazione console JavaScript?
- 7. QtWebkit: applicazione console
- 8. Thread.CurrentPrincipal in .NET applicazione console
- 9. Applicazione console ChromeDriver nascondi
- 10. Applicazione console C# di pubblicazione
- 11. GUI applicazione console
- 12. Applicazione console non eliminata da un'eccezione di attività non gestita
- 13. Come pubblicare console applicazione in eseguibile
- 14. Come visualizzare la console Maven in IntelliJ?
- 15. Evento di uscita applicazione console .NET
- 16. Applicazione console di primavera configurata usando annotazioni
- 17. Come cambiare directory su applicazione console
- 18. Applicazione Windows che opzionalmente scrive su una console in C++?
- 19. multipli args in applicazione console non parsing correttamente
- 20. Console multiple in un'applicazione singola console
- 21. Come visualizzare utf-8 in console di Windows
- 22. C# Applicazione console - Continua a funzionare
- 23. Applicazione console con Java e gradle
- 24. Minimal, buon cittadino, C# applicazione console boilerplate
- 25. App Win32 Console vs CLR Console app
- 26. Applicazione Web di debug di Eclipse PDT: valutazione di espressioni in una console
- 27. Rails console non Caricamento
- 28. 'Console' non contiene una definizione per 'ReadKey' in asp.net 5 console App
- 29. C#: applicazione console - i metodi statici
- 30. Nascondi la console della console figlio
In qualsiasi modo posso farlo all'interno del progetto esistente, quindi non devo migrare roba? – Jeff
Fare clic con il tasto destro del mouse sul progetto, andare su Proprietà e, nel modulo che si apre, cambiarlo da un'app Console ad un'app WinForms, chiudere e ricompilare. –
Grazie Chris, ha funzionato alla grande! – Jeff