Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Как заставить мигать приложение в TaskBar'e?


Автор: TeRiX 8.1.2007, 15:01
Как заставить мигать приложение в TaskBar'e?

Может кто подскажет решение моей проблемы..... Хочу сделать так, чтобы в случае, если приложение свернуто в TaskBar, по завершении некоего процесса обработки, в TaskBar'e приложение начало мигать.... т.е. подавть сигнал о том, что процесс был завершен....

Спасибо.

Автор: mr.DUDA 9.1.2007, 10:17
Код
    [DllImport("user32.dll")]
    private static extern bool FlashWindow(IntPtr hwnd, bool bInvert);

    public static void FlashWindow(System.Windows.Forms.Form window)
    {
        FlashWindow(window.Handle, false);
    }

Автор: ivashkanet 9.1.2007, 10:23
mr.DUDA, а без API никак?

Автор: Naum 9.1.2007, 10:32
Цитата(ivashkanet @  9.1.2007,  11:23 Найти цитируемый пост)
без API никак?

Очень просто. Если WinForms приложение, this.Activate(). Если фокус не на форме, то кнопочка в таскбаре начинает мигать.

Автор: TeRiX 11.1.2007, 12:52
Цитата(Naum @  9.1.2007,  10:32 Найти цитируемый пост)
Очень просто. Если WinForms приложение, this.Activate(). Если фокус не на форме, то кнопочка в таскбаре начинает мигать. 


Мне понравилась идея..... но есть один вопрос, ..... мне необходимо именно мигание, когда форма неактивна и некий процесс по обработке был выполнен..... вместо этого из всех моих тестов (около 10 раз я запускал) мигание было всего в одном случае..... во всех остальных случаях форма вываливается на передний план..... хоть я и работал до этого в другом приложении..... т.е. это не совсем то, что мне хотелось....

Спасибо.

Автор: Naum 11.1.2007, 14:25
Значит моя идея неправильная. 
Цитата(TeRiX @  11.1.2007,  13:52 Найти цитируемый пост)
во всех остальных случаях форма вываливается на передний план

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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)