2010-02-21 5 views
1

Я разрабатываю почтовый клиент, и я хочу, чтобы экран мгновенно мигал, когда я получаю почту. Я искал все, что мог, в документации .NET, но единственным способом, который я нашел для этого, было использование функций DirectX, что, конечно же, невозможно: я не хочу, чтобы мои пользователи устанавливали DirectX только для почтового клиента :)Как мигать на рабочем столе, когда я получаю письмо?

Есть ли способ сделать это только с GDI?

Благодаря

ответ

5

К счастью, нет никакого способа, чтобы приложение могло делать такую ​​досадную вещь. Ваша программа должна использовать notification area для уведомления пользователей о событиях и/или изменениях состояния.

Отъезда WPF Notification Area примера, чтобы увидеть, как вы можете использовать это в приложении WPF ...

+1

Точно так же приложение может использовать функцию предупреждения о готовности Windows, чтобы зажечь свой значок панели задач (избегать разделения фокуса). Используйте P/Invoke для вызова FlashWindowEx: http://msdn.microsoft.com/en-us/library/ms679347(VS.85).aspx – Richard

+0

Я согласен с вами в VoidPointer, это очень раздражает. Но это желание моего клиента ... И клиент ... клиент;) Спасибо за ваши ответы, я попробую ваше решение и Ричарда тоже. – Harkonnen

0

Я не уверен, какой именно вспышки эффекта, который вы ищете, но вы могли бы achive это кратко показывает полный экран полупрозрачный формы - см Opacity свойства.

+0

Спасибо, я тоже посмотрю :) – Harkonnen

2

Там хорошая функциональность причины, как это не встроено в Windows. Отображение больших мигающих прямоугольников склонно вызывать судороги у людей, страдающих от photosensitive epilepsy.

Не делайте этого.

+0

Я полностью согласен с вами ... Но, как я сказал выше, это то, чего хочет мой клиент. Я рассказал ему о светочувствительной эпилепсии, и ему все равно ... Без комментариев. – Harkonnen