Can I Enable the Caps Lock Key?

Can I Enable the Caps Lock Key?

  • Comments 2
  • Likes
Hey, Scripting Guy! Question

Hey, Scripting Guy! I have a script where users enter some information in an Input box. The information needs to be entered in all-capital letters, so my instructions say, “Please make sure the Caps Lock key is on before entering the information.” They don’t always do that, however. Is there a way to turn the Caps Lock key on and off using a script?

-- BW, Medford, OR

SpacerHey, Scripting Guy! AnswerScript Center

Hey, BW. We don’t know of a way to turn the Caps Lock key on and off, but we do know a way to mimic the effect of having the Caps Lock key on. After all, the whole point of the Caps Lock key is to turn everything you type into uppercase letters. For example, you might type this:

this is my sentence.

But Caps Lock will make it appear on screen like this:

THIS IS MY SENTENCE.

So how can we achieve the same affect in a script? Simple: we just use the VBScript function UCase, which switches all the letters in a string to their uppercase equivalent. For example, here’s a simple two-line script that gathers information from a user and then uses the UCase function to switch all the letters to uppercase when echoing the value to the screen:

strMessage = InputBox("Please enter your message:")
Wscript.Echo UCase(strMessage)

Incidentally, the above script doesn’t actually change the case of the letters in the string strMessage; it just displays them in uppercase. If you really want all the letters converted to uppercase, try this script instead:

strMessage = UCase(InputBox("Please enter your message:"))
Wscript.Echo strMessage

Looks crazy, but it works.

For more information about the UCase function, see the VBScript documentation on MSDN.

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment
  • Actually, Wshshell.sendkeys "{Capslock}" works just fine.  One problem: it will turn it off if it is already on.

  • PowerShell way of doing $str = "Your Input" $str.ToUpper() YOUR INPUT