# How to turn a keyboard shortcut into a Desktop shortcut?

Here is my dilemma:

I use several keyboard shortcuts to be more productive and get faster access to certain things in Windows. But... is there a way to translate those keyboard combinations into a shortcut file that can be placed on the desktop and run with the mouse? I am referring only to keyboard shortcuts that can be used to get around Windows, not shortcuts for specific applications.

This will be very useful to other users who are not that into keyboard shortcuts.

-
A specific example would be helpful. –  uSlackr Mar 14 '12 at 13:31
A very simple example is the Windows key on the keyboard, which opens the Start Menu. Or Control + C. How do you translate such keyboard shortcuts into a shortcut file. –  Corporate Geek Mar 14 '12 at 19:41
As I understand it, you want several ways to perform one single action. Rather than making the file trigger the shortcut, that then triggers the action, I find it more logical to have both the file and the shortcut perform the action directly. file -> win-key -> start menu seems less logical than file -> start menu and win-key -> start menu separately. Maybe it's not practical in your case, but you can consider it. –  Gauthier Mar 17 '12 at 0:11

You could use a VBS script to do this with sendkeys.

Create a text file with a .vbs extension, and create a WScript Shell object, then use sendkeys. I just tried this with ctrl-shift-escape to open task manager:

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "^+{ESCAPE}"


Found the info here.

-
This is good info. Thanks. Plus, it has the advantage of not requiring to use a third-party tool. –  Corporate Geek Mar 14 '12 at 19:38
What is the code for the Windows key? –  Corporate Geek Mar 14 '12 at 19:52
@CorporateGeek I was trying to find that actually. The closest I could find was ctrl-escape, but that doesn't work for windows key combinations, it just opens the start menu. I'll keep looking, but you should post back here if you find it. –  xdumaine Mar 15 '12 at 3:10
You code sample was returning an error. Something with expected end of line missing. I found another approach which worked. Option Explicit Dim objShell : Set objShell = CreateObject("WScript.Shell") objShell.SendKeys "^{esc}" –  Corporate Geek Mar 15 '12 at 9:14
Thanks for pointing me in the right direction though. –  Corporate Geek Mar 15 '12 at 9:14

We've used AutoIt whenever we've need to push keystrokes into an automated process. It would work well for this as would the other solutions here.

-
How do you bind your shortcuts today? I would recommend autohotkey. Create a shortcut file on the desktop (or a batch, or whatever), and bind the desired keyboard shortcut to c:\path\to\you\desktop\file-to-execute.