2010-09-30 52 views
0

Pour une application que je construis, une exigence est d'avoir l'état subtilement visible à tout moment. Au début, j'ai décidé de désactiver simplement l'économiseur d'écran, mais maintenant je pense qu'il serait préférable d'utiliser l'économiseur d'écran défilant défilant pour indiquer l'état.Quelqu'un sait comment modifier par programme le texte d'un économiseur d'écran de marquee?

Est-ce possible? Comment pourrais-je y aller?

Étant donné que l'application ne sera installée que sur un petit nombre de machines sous mon contrôle, je peux définir manuellement l'écran de veille pour qu'il soit le rectangle de sélection (c'est-à-dire que l'application ne devrait pas le faire). J'utilise C#, .net et WinForms

+0

Quatre ans plus tard: J'aimerais pouvoir me rappeler de quelle application il s'agissait. –

Répondre

5

En tant que Cipi ledit économiseur d'écran de marquee stocke le texte dans le registre. Mais je pense que l'économiseur d'écran lit cette valeur seulement une fois avant qu'il ne soit affiché, ainsi vous n'aurez aucune chance de changer le statut pendant que l'économiseur d'écran est actif.

Vous pouvez créer votre propre économiseur d'écran ce n'est pas le cas hard.

+0

Oui, ce serait une bonne alternative. – Cipi

+0

+1 très bon lien inclus – Adkins

1

Vous pouvez modifier le texte de celui-ci dans le Registre Windows sous la clé:

HKEY_CURRENT_USER\Control Panel\Screen Saver.Marquee\Text 

Utilisez ce code pour modifier la valeur dans le registre:

using Microsoft.Win32; 

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

Il va mettre le texte à "LALALALA".

+0

Le texte de l'économiseur d'écran sera-t-il modifié même s'il est déjà en cours d'exécution? –

+0

Je ne l'ai jamais essayé mais je serais très surpris si c'était le cas - Il n'y a aucune raison que l'économiseur d'écran s'attende à ce que le texte change pendant qu'il est affiché ... – Basic

+0

Je ne pense pas que cela changera le texte tout en économiseur d'écran est en cours d'exécution (** en fait, je suis assez sûr que ce ne sera pas **), mais vous pouvez changer le paramètre de registre et redémarrer l'économiseur d'écran avec un nouveau texte ... Ou si ce n'est pas ce que vous voulez, bidouille OpenGL affichant le texte ... – Cipi

0

Avez-vous réellement vérifié ce qui arrive à votre application une fois que l'économiseur d'écran se déclenche? Je me souviens d'avoir fait un programme conçu pour fonctionner 24 heures sur 24, 7 jours sur 7, implose une fois l'économiseur d'écran allumé, parce que le PC fonctionne dans un état réduit. Certes, cela pourrait être dû au fait que nous faisions de la surveillance du matériel via un composant USB, donc ça aurait pu être quelque chose à voir avec les drivers pour nous avoir bousculés mais, ouais, j'ai beaucoup observé étrangeté dans les applications quand l'économiseur d'écran s'allume.

Il vaut la peine de vérifier avant de vous engager à montrer quoi que ce soit via l'économiseur d'écran.