Solved

Setting 3D Text Screen Saver

Posted on 2002-05-29
3
228 Views
Last Modified: 2010-05-02
Does anyone know how to set the text of the 3D Text screen saver via code? I have a request from an engaged co-worker who wants her screen saver to dynamically display the number of days to her wedding. I figure I could write a small vb program and put it in her startup folder, and it would be able to update the text when she logs into her machine in the morning.

TIA,

:) dapperry
0
Comment
Question by:dapperry
3 Comments
 

Accepted Solution

by:
CarlJWhite earned 75 total points
ID: 7043980
This alters the registry value of 3d screen saver text

Check the registry path I used is the same on her machine.

You need code to work out how many days are left to the big day so it changes the value each day

You also need to add the reference Windows Script Host Model
(Project>>References)


Dim wshReadRegistry     As IWshShell
Set wshReadRegistry = CreateObject("Wscript.Shell")


Dim strRegistryPath     As String

'Get the path from the Registry
On Error Resume Next

   'Build path to key
   
   strRegistryPath = "HKEY_CURRENT_USER\Control Panel\Screen Saver.3DText\Text"
     
     
   wshReadRegistry.RegWrite strRegistryPath, "newvaluegoeshere"
   
   Set wshReadRegistry = Nothing
   
       

0
 
LVL 28

Expert Comment

by:vinnyd79
ID: 7044543
This does the same thing without using the windows scripting host:

Option Explicit
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal Hkey As Long) As Long
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal Hkey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal Hkey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Private Const HKEY_CURRENT_USER = &H80000001
Private Const ERROR_SUCCESS = 0&
Private Const REG_SZ = 1
Private X As Long

Private Sub SaveString(Hkey As Long, strpath As String, strValue As String, strdata As String)
    Dim keyhand As Long
    Dim r As Long
    X = RegCreateKey(Hkey, strpath, keyhand)
    X = RegSetValueEx(keyhand, strValue, 0, REG_SZ, ByVal strdata, Len(strdata))
    X = RegCloseKey(keyhand)
End Sub

Private Sub Command1_Click()
Call SaveString(HKEY_CURRENT_USER, "Control Panel\Screen Saver.3DText", "Text", "Days till wedding!")
End Sub
0
 
LVL 3

Author Comment

by:dapperry
ID: 7044801
I tried CarlJWhite's method, and it works just fine. Thanks.

:) dapperry
0

Featured Post

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

Introduction I needed to skip over some file processing within a For...Next loop in some old production code and wished that VB (classic) had a statement that would drop down to the end of the current iteration, bypassing the statements that were c…
The debugging module of the VB 6 IDE can be accessed by way of the Debug menu item. That menu item can normally be found in the IDE's main menu line as shown in this picture.   There is also a companion Debug Toolbar that looks like the followin…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now