2010-09-30 2 views
0

Для приложения, которое я создаю, требуется, чтобы состояние было тонко видимым во все времена. Сначала я решил просто отключить экранную заставку, но теперь думаю, что было бы предпочтительнее использовать заставку прокрутки marquee, чтобы указать состояние.Кто-нибудь знает, как программно изменить текст заставки шатер?

Возможно ли это? Как я могу это сделать?

Поскольку приложение будет установлено только на небольшое количество компьютеров под моим контролем, я могу вручную установить заставку в качестве области выделения (то есть приложение не нужно). Я использую C#, .net и WinForms

+0

Четыре года спустя: Я хотел бы помнить, для чего это было предназначено. –

ответ

5

Как Cipi said marquee screensaver хранит текст в реестре. Но я думаю, что скринсейвер читает это значение только один раз, прежде чем он будет показан, поэтому у вас не будет шанса изменить статус во время активной заставки.

Вы можете создать себе скринсейвер, который не так hard.

+0

Да, это была бы хорошая альтернатива. – Cipi

+0

+1 отличная ссылка включена – Adkins

1

Вы можете изменить текст его в реестре окна под ключ:

HKEY_CURRENT_USER\Control Panel\Screen Saver.Marquee\Text 

Используйте этот код, чтобы изменить значение в реестре:

using Microsoft.Win32; 

RegistryKey marquee= Registry.CurrentUser.OpenSubKey(@"Control Panel\Screen Saver.Marquee", true); 
marquee.SetValue("Text", "LALALALA", RegistryValueKind.String); 

Он установит текст в «LALALALA».

+0

Изменит ли текст заставки, даже если он уже запущен? –

+0

Я никогда не пробовал, но я был бы очень удивлен, если бы это произошло. Нет причин, по которым заставка будет ожидать, что текст изменится, пока он отображается ... – Basic

+0

Я не думаю, что он изменит текст во время экранной заставки (** на самом деле я уверен, что это будет НЕ **), но вы можете изменить настройки реестра и перезапустить экранную заставку с помощью нового текста ... Или если это не то, что вы хотите, лучше всего взломать OpenGL, отображая текст ... – Cipi

0

Вы действительно проверили, что происходит с вашим приложением, когда заставка заходит?

Я помню, как я разработал программу, предназначенную для запуска 24/7 только implode после того, как заставка продолжалась, из-за того, что ПК работал в каком-то сокращенном состоянии.

Конечно, это могло быть связано с тем, что мы осуществляли аппаратный мониторинг через USB-компонент, поэтому это могло быть связано с драйверами для того, чтобы это подтолкнуть нас, но, да, я наблюдал много странность в приложениях, когда заставка заходит.

Стоит проверить, прежде чем совершать какие-либо действия с помощью экранной заставки.