peterleb
Goto Top

3D-Text Windows Bildschirmschoner mit variablem Text

Hallo Jungs und Mädels,

kennt jemand eine Möglichkeit, dem besagten Screensaver eine Variable (zum Beispiel Windows-Version) als Anzeigetext "unter zu jubeln"?
Hat er vielleicht Befehlszeilenoptionen?

Schönen Sonntag noch,
Gruß Peter

Content-Key: 3362741151

Url: https://administrator.de/contentid/3362741151

Printed on: July 27, 2024 at 12:07 o'clock

Member: PeterleB
PeterleB Jul 17, 2022 at 14:20:33 (UTC)
Goto Top
Hallo,

habe selbst schon was gefunden.
Der Text steht in der Registry:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Screensavers\ssText3d
als "DisplayString"

das lässt sich ja bei Systemstart mit powershell ändern.

Gruß
Peter
Member: PeterleB
PeterleB Jul 17, 2022 updated at 16:25:52 (UTC)
Goto Top
    $keyName = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\"  
    $key2Name = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Screensavers\ssText3d\"  
    $ValueName = "DisplayString"  
    
    $Version = (Get-WmiObject win32_operatingsystem).version
	$UBR = (Get-ItemProperty $keyName -Name UBR).UBR
	$ssText3d = "Windows 11 " + $Version + "." + $UBR  
	
	Set-Itemproperty -path $key2Name -Name $ValueName -value $ssText3d

Gefällt Euch das?
Oder würdet Ihr das besser machen?

Die Registry wird zwar geändert, aber der Screensaver hat noch den alten Text.
Wie "schubse" ich das Programm zum Neueinlesen der Registry an?

Gruß Peter
Member: VGem-e
VGem-e Jul 18, 2022 at 04:57:14 (UTC)
Goto Top
Moin,

wird nicht die Registry beim Neustart des Computer komplett neu eingelesen?

Gruß
Member: PeterleB
PeterleB Jul 18, 2022 at 05:03:14 (UTC)
Goto Top
Hallo,

habe erstmal am Code rumgebastelt und noch nicht mit Autostart getestet.

Gruß
Peter
Member: PeterleB
PeterleB Jul 18, 2022 at 05:37:07 (UTC)
Goto Top
Hallo,

bin ein bisschen traurig.
Auf einem anderen System ist der Eintrag "DisplayString" gar nicht vorhanden.
Er wird zwar durch meinen Code neu angelegt, aber auch nach Systemneustart vom Screensaver ignoriert.

Hat jemand eine Ahnung, wo der Wert tatsächlich gespeichert wird?

Gruß
Peter
Member: colinardo
Solution colinardo Jul 18, 2022 updated at 07:06:26 (UTC)
Goto Top
Servus Peter,
welcome to the everlasting retro community, ja das waren noch Zeiten face-big-smile...
  • erstens erlaubt der 3Dtext Screensaver nur maximal 20 Zeichen. Stehen dort mehr Zeichen (wie bei dir) dann zeigt er stur den konstanten String "Windows" an egal was in der Registry steht.
  • zweitens zeigt der Screensaver den Text auch nur an wenn die Property DisplayTime auf 0 gesetzt wird also nicht die Zeit angezeigt werden soll.
$key = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Screensavers\ssText3d"  
New-ItemProperty $key -Name DisplayString -Value "$((gcim win32_Operatingsystem).Version).$(gpv 'HKLM:\Software\Microsoft\Windows NT\CurrentVersion' -Name UBR)" -PropertyType String -Force  
New-ItemProperty $key -Name DisplayTime -Value 0 -PropertyType DWORD -Force
Grüße Uwe
Member: PeterleB
PeterleB Jul 18, 2022 at 12:06:45 (UTC)
Goto Top
Hallo colinardo,

das mit den 20 Zeichen habe ich auch gerade herausgefunden.
Dann funktioniert das Script tatsächlich.

Vielen Dank
Grüße
Peter