VariusRain
@VariusRain
музыкант-программист-конструктор

Как вернуть консольное приложение из области уведомлений?

Доброго всем времени суток!

Написал простенькое консольное приложение. Оно в фоновом потоке слушает ком порт и, получая оттуда сообщения, пересылает их на удалённый сервер.
Когда все что нужно сделано, отправляем окошко консоли в область уведомлений.
[DllImport( "user32.dll" )]
	private static extern bool ShowWindow( IntPtr hWnd, int nCmdShow );

	[DllImport( "kernel32.dll", ExactSpelling = true )]
	private static extern IntPtr GetConsoleWindow();
...
	icon = new NotifyIcon();
	icon.Icon = new Icon( "icon.ico" );
	icon.Visible = true;
	icon.Click += ShowConsole;
	icon.DoubleClick += ShowConsole;

	ShowWindow( GetConsoleWindow(), 0 );

	private static void ShowConsole( object sender, EventArgs e ) {
		ShowWindow( GetConsoleWindow(), 1 );
		icon.Visible = false;
	}


Но проблема в том, что клик на иконку попросту не отрабатывает (Код в ShowConsole просто не заходит)

Буду признателен за любую подсказку. Не могу понять, что и где я не досмотрел...

Доподнение.
На стековерфлоу нашёл решение, что нужно подписываться на MouseClick
icon.MouseClick += ShowConsole;
Но это тоже не работает
  • Вопрос задан
  • 150 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы