A keyboard accelerator (or simply, accelerator) is a keystroke or combination of keystrokes that generates a WM_COMMAND or WM_SYSCOMMAND message for an application. Accelerators are closely related to menus—both provide the user with access to your application's command set. Typically, users rely on your application's menus to learn the command set, then switch over to accelerators as they become more proficient with your application. Accelerators provide faster, more direct access to commands than menus do. At a minimum, your application should provide accelerators for the more commonly-used commands in your application. Although accelerators are typically used to generate commands that already exist as menu items, they can also generate commands that have no equivalent menu items.