Mam aplikację konsolową, której używam do uruchamiania zaplanowanych zadań za pomocą programu planującego okna. Cała komunikacja do/z aplikacji odbywa się za pomocą poczty elektronicznej, rejestrowania zdarzeń, dzienników bazy danych. Czy jest jakiś sposób, aby wyłączyć okno konsoli?Aplikacja konsoli .Net, która nie wyświetla konsoli.
Odpowiedz
Pewnie. Zbuduj go jako aplikację WinForm i nigdy nie pokazuj swojego formularza.
Po prostu bądź ostrożny, ponieważ nie jest to już tak naprawdę aplikacja konsolowa i istnieją pewne środowiska, w których nie będziesz mógł jej użyć.
Dlaczego nie chcesz, aby aplikacja była usługą Windows?
Brak zaplanowanych zadań! = Usługa Windows. Chyba, że używa wiadomości e-mail do rozpoczęcia przetwarzania, w takim przypadku usługa jest lepszą opcją. –
Tak, wcześniej szliśmy tą drogą. Używam do tworzenia zaplanowanych zadań za pomocą infrastruktury usług, ale w końcu realizacja w ten sposób powoduje wiele niepotrzebnego kodu i trudnych aktualizacji. W skrócie, odtwarza infrastrukturę, którą harmonogram zadań zapewnił za darmo! – Jeff
W porządku, ale nie widzę powodów, by zgodzić się z pytaniem Badaro. –
Jest to hack, ale po blogu opisuje w jaki sposób można ukryć okno konsoli:
http://expsharing.blogspot.com/2008/03/hideshow-console-window-in-net-black.html
Bardzo ładne znalezisko. Użyję tego więcej niż raz w pewnym momencie w przyszłości. Dzięki Philippe. BTW, nie sądzę, wywoływanie user32.dll jest hack, jeśli nie jest w ramach .Net. To tylko "jak to się robi". – philologon
zapożyczonych z 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
}
zaplanować zadanie do uruchomienia jako inny użytkownik niż twoje konto i nie pojawi się okno. . .
Po prostu skonfiguruj Zaplanowane zadanie jako "Uruchom, czy użytkownik jest zalogowany, czy nie".
- 1. Aplikacja konsoli nie zamyka się
- 2. Aplikacja konsoli ChromeDriver ukryj
- 3. Aplikacja konsoli Java?
- 4. Aplikacja Windows, która opcjonalnie zapisuje na konsoli w C++?
- 5. W jaki sposób aplikacja konsoli .NET szuka zestawów referencyjnych?
- 6. Jak uruchomić aplikację konsoli .NET?
- 7. C# Wyświetla binarne drzewo poszukiwań w konsoli
- 8. Ukryj okno konsoli w C# aplikacji konsoli
- 9. Jak uruchomić aplikację konsoli .NET w tle
- 10. pokazujący procent w aplikacji konsoli .net
- 11. Aplikacja konsoli C++, ukrywanie paska tytułu
- 12. Aplikacja konsoli sprężynowej skonfigurowana przy użyciu adnotacji.
- 13. xUnit.net nie przechwytuje wyjścia konsoli
- 14. casperJS nie zalogowaniu do konsoli
- 15. Aplikacja konsoli nie została zerwana przez nieobsługiwany wyjątek zadania.
- 16. Jak zbudować aplikację konsoli VB6
- 17. Ruby: Class.new wyświetla błąd "Class not initialized" w konsoli szyn
- 18. System.Web.UI nie jest dostępny w aplikacji konsoli?
- 19. Jak zrobić aplikację konsoli C# dla systemu Windows, która "respektuje" poprzednią zawartość konsoli?
- 20. Czytanie Unicode z konsoli
- 21. Używanie niestandardowej konsoli do debugowania aplikacji konsoli programu Visual Studio
- 22. Typ wiadomości e-mail wyświetla ostrzeżenie w konsoli. React
- 23. Jak mogę poczekać, aż aplikacja konsoli będzie bezczynna?
- 24. Czy istnieje sposób utworzenia drugiej konsoli do wyprowadzenia w .NET podczas pisania aplikacji konsoli?
- 25. Jak wdrożyć aplikację konsoli .NET do instancji AWS EC2?
- 26. Rejestrowanie z aplikacji konsoli
- 27. TBitmap.Create nie działa w aplikacji konsoli delphi
- 28. Uruchom jar w konsoli
- 29. Jak wyłączyć wyświetlanie naciśnięcia klawisza w konsoli w .NET?
- 30. C#/.NET: Wykrywanie, czy program jest uruchamiany jako usługa lub aplikacja konsoli.
W jaki sposób mogę to zrobić w istniejącym projekcie, więc nie muszę migrować? – Jeff
Kliknij projekt prawym przyciskiem myszy, przejdź do Właściwości, aw wyskakującym formularzu zmień go z aplikacji Konsola na aplikację WinForm, zamknij i przekompiluj. –
Dzięki Chris, to zadziałało świetnie! – Jeff