How to display your Screen Saver immediately after locking the screen in Windows 8.1

Let’s say you want to instantly display your gorgeous screen saver after locking the screen.  Is there a way to pull that off?

By default, Microsoft let’s you display:

  • Scintillating 3D text in any font you want:  You can add textures, solid colors or even custom reflections.  It works as long as it’s less than 20 characters.
  • Blank:  You can simply tell the screen to go black and marvel at the infinite abyss before you.
  • Hypnotic Bubbles:  Remember when you were a kid blowing soap bubbles through the ring wand?  You can do the same thing to your desktop when it’s idle.
  • Abstract art: Enabling the Mystify setting is like having someone wipe a prismatic squeegee across your windshield in thought provoking patterns.
  • Photos: This is probably my favorite screensaver because you can have Windows cycle through a collection of photos maximized to full screen.
  • Ribbons: Have you ever seen rhythmic gymnastics?  You know what I’m talking about right?  It’s when a dexterous dancer twirls with a ribbon that gracefully flows around her body.  That’s what the Ribbons screen saver option will remind you of (except there’s no dancer to captivate you).

Here’s how to make Microsoft immediately (not after 1 minute; immediately) leap to your screen saver whenever you lock the screen.

1. Turn on your Screen Saver

Press the Windows logo key on your keyboard and type:

change screen saver

Changing the screen saver in Windows 8.1

In the Screen Saver Settings window make sure you pick a screen saver.  If you toy with the Wait interval you’ll see it doesn’t drop below 1 minute.

That’s fine because we’re about to work around that.  Set the Wait interval to anything you want.  It doesn’t matter.

Windows 8.1 Screen Saver Settings

We’re going to use AutoHotKey to create a script and then the Windows Task Scheduler to kick start the process whenever the screen gets locked.  I learned this method from Lowell Heddings at howtogeek.com so I’ve got to give a shout out.

So here’s the thing: I know what I’m saying sounds convoluted but it’s actually quite easy.  In fact, I set this up on my system in less than 5 minutes.  Let’s see if you can beat my time.

Check this out.

2. Get AutoHotKey

Zoom over to http://www.autohotkey.com and download the desktop automation tool.

After whirling through the installation wizard press the Windows Logo Key again, and type

autohotkey

You’ll see an alert about creating and displaying a sample script.

Click Yes because we’re going to replace the sample script with a new script that will become our Task Scheduler action.

Running AutoHotKey in Windows

Erase everything in the AutoHotkey.ank file (the actual file location is in %USERPROFILE%\Documents) and paste in the following script:

SendMessage, 0x112, 0xF140, 0,, Program Manager

From here you can save the file and jump to the Task Scheduler section but read on if you want to know what this cryptic text means.

You see, I don’t just want you to copy and paste something without understanding what it does.  This looks like a bunch of garblygook but it’s not hard to understand if you know your AutoHotKey commands.  (I didn’t know them either, I googled)

The first part, SendMessage, is how you tell AutoHotkey to send a specific message to a window or control.

So the first part, 0x112, is the type of message.

But how did I know 0x112 was the message type I needed?

If you go to http://www.autohotkey.com/docs/misc/SendMessageList.htm you can actually read the detailed message types for all Windows Messages.  Press Ctrl + f in your browser and enter the string:

0x112

Windows 8.1 SYSCOMMAND in AutoHotKey

You can see this is a SYSCOMMAND.  And that’s exactly what we need because we’re going to send a command to the system.

Let’s look at the full script again:

SendMessage, 0x112, 0xF140, 0,, Program Manager

The next two parameters, 0xF140 and 0 is the message itself.

The next part, the two consecutive commas, is an empty parameter which tells AutoHotKey to send the message to the target window.

Which target window are we using?

You guessed it: Program Manager.

Alright, it’s okay if things are still a little nebulous right now.  The bottom line is that the script works.  In fact, after saving the file, double click the green AutoHotKey icon on your computer and it should instantly flip the Screen Saver on.

3. Tweak the Task Manager

Now that we have script working we need to link it to an Action.  Specifically, we need to make the script get to work whenever anyone presses Windows logo key + l (that’s an “L”)

Press the Windows Key and type

task scheduler

Click Action from the Task Scheduler menu and select Create Task…

Using the Task Scheduler to Create a Task

Give the task a meaningful name and description and then head over to Triggers.

General Tab in Task Scheduler

Click the New button in the bottom left corner of the Triggers tab and then change Begin the task to On workstation lock.

Begin the task on workstation lock

Click OK and move to the Actions tab.

Now we’re going to create the Action that starts AutoHotkey.ahk (our script)

Click the New… button in the bottom left corner of the Action tab and make sure the action is set to Start a Program.

Then Browse to AutoHotkey.ahk (should be in your Documents folder) and click OK like so.

Task Scheduler Action

That’s it.

4. Break dance if it worked

Lock your box and enjoy your screen saver.

No waiting.  No bull.  No problem.

Now go ahead and change your 3D text to fixedBy (and insert your name there)

Screen saver

I personally like the ribbons but pick whatever makes you happiest.

Windows Screensaver Ribbons

So what do you think?  Did you run into any issues?  Let me know in the comments below!

About

Connect with Vonnie on Twitter

Posted in Windows, Windows 8, Windows 8.1 Tagged with: ,
  • Twihka!

    Isn’t it easier just to check that little box in the screen saver settings that tells Windows to lock the session when the screensaver starts? Then all you need is a hotkey to start the screensaver…

    #s::
    SendMessage, 0x112, 0xF140, 0,, Program Manager