Подтвердить что ты не робот

.Net консольное приложение, которое не поддерживает консоль

У меня есть консольное приложение, которое я использую для запуска запланированных заданий через планировщик окон. Вся связь с/из приложения осуществляется по электронной почте, регистрации событий, журналам базы данных. Есть ли способ подавить консольное окно?

4b9b3361

Ответ 1

Конечно. Создайте его как приложение winforms и никогда не показывайте свою форму.

Просто будьте осторожны, потому что тогда это уже не консольное приложение, и есть некоторые среды, где вы не сможете его использовать.

Ответ 2

Заимствован из MSDN (текст ссылки):

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
         }

Ответ 4

Запланируйте задачу для запуска в качестве другого пользователя, кроме вашей учетной записи, и вы не увидите окно.,.

Ответ 5

Просто настройте запланированную задачу как "Запустить, был ли пользователь включен или нет".

Ответ 6

Почему вы не делаете приложение службой Windows?