Not a good idea, these names are not constant:
The key name is translated according to the layout of the currently installed keyboard, thus the function may give different results for different input locales.
If you are desperate I suppose you can call GetKeyNameText
in a loop trying all possible scancodes.
MapVirtualKey
can convert a scancode to a virtual key if you also need to do that. Virtual keys are stable across all keyboards and all versions of Windows.
I would suggest that you hardcode some of the names that are common and have virtual keys like A-Z, 0-9, Ctrl, Alt, Shift, Home, Insert etc. and store those as English text. Only store the scancode for other strange keys.