Доброго всем времени суток!
Написал простенькое консольное приложение. Оно в фоновом потоке слушает ком порт и, получая оттуда сообщения, пересылает их на удалённый сервер.
Когда все что нужно сделано, отправляем окошко консоли в область уведомлений.
[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;
Но это тоже не работает