.Net Console Application, который не Поднимает Консоль

Ваше приложение может сломаться, используя решение afarazit * Вот исправленная рабочая версия:

ПРИМЕЧАНИЕ: saving или любое другое событие не будет работать, если вы используете eloquent вне laravel, если вам не требуется пакет событий и загрузите события. Это решение будет работать всегда.

class Page extends Eloquent {

   public function save(array $options = [])
   {
      // before save code 
      $result = parent::save($options); // returns boolean
      // after save code
      return $result; // do not ignore it eloquent calculates this value and returns this, not just to ignore

   }
}

Так что теперь, когда вы сохраняете объект Page, вызывается его функция save() , которая включает функцию parent::save() ;

$page = new Page;
$page->title = 'My Title';
if($page->save()){
  echo 'Page saved';
}

afarazit * Я пытался отредактировать его ответ, но не получилось

22
задан Jeff 1 June 2009 в 13:50
поделиться

5 ответов

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

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

45
ответ дан 29 November 2019 в 03:48
поделиться

Заимствовано из 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
         }
10
ответ дан 29 November 2019 в 03:48
поделиться

Это взлом, но в следующем сообщении блога описывается, как можно скрыть окно консоли:

http://expsharing.blogspot.com/2008/03/hideshow-console-window -in-net-black.html

2
ответ дан 29 November 2019 в 03:48
поделиться

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

1
ответ дан 29 November 2019 в 03:48
поделиться

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

2
ответ дан 29 November 2019 в 03:48
поделиться