誰もがマーキースクリーンセーバーのテキストをプログラム的に変更する方法を知っていますか?
-
26-09-2019 - |
質問
私が構築しているアプリの場合、要件は常に州を微妙に見えることです。最初はスクリーンセーバーを単に無効にすることにしましたが、今ではスクロールマーキースクリーンセーバーを使用して状態を示すことが望ましいと考えています。
これは可能ですか?どうやってそれを進めますか?
アプリは私の制御下の少数のマシンにのみインストールされるため、スクリーンセーバーをマーキーに手動で設定できます(つまり、アプリは必要ありません)。 C#、.NET、WinFormsを使用しています
解決
として cipi マーキースクリーンセーバーはレジストリにテキストを保存しています。しかし、Screensaverはこの値が表示される前に1回だけ読み取られると思います。そのため、Screensaverがアクティブになっている間にステータスを変更する機会がないと思います。
あなたはあなた自身のスクリーンセーバーを作成することができますそれはそうではありません 難しい.
他のヒント
キーの下のWindowsレジストリでそのテキストを変更できます。
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);
テキストを「ララララ」に設定します。
スクリーンセーバーがキックインしたら、実際にアプリケーションに何が起こるかを確認しましたか?
24時間年中無休で実行するように設計されたプログラムを作成したことを覚えています 破裂します PCが何らかの種類の縮小状態で動作しているため、スクリーンセーバーが進むと。
確かに、これは私たちがUSBコンポーネントを介してハードウェア監視を行っていたという事実に起因していたかもしれないので、それは私たちを台無しにするためのドライバーと関係があったかもしれませんが、ええ、私はアプリケーションで多くの奇妙さを観察しました。スクリーンセーバーがオンになります。
スクリーンセーバーを介して何かを表示する前にチェックアウトする価値があります。