There is a function 'w32-toggle-lock-key to, effectively, simulate a press of capslock, numlock, or scroll-lock key. Is there a similar function to simulate a shift key by itself (not shift+something else)?
The reason I need this is because I have shift bound to switch languages in Windows.
I believe the answer is no. For the same reasons discussed in this answer, namely that shift is a modifier, and Windows is swallowing the keypress.
The easiest way to see if Emacs responds to a key is to ask for help on a key
If Emacs tells you what is bound to that key, you’re golden. If Emacs seems to be waiting for more input (and after about 2 seconds shows you the key in the minibuffer), then you’re still good – the key is just mapped to a prefix map (e.g. ESC or C-x). If Emacs does nothing and is still waiting for you to type something at the prompt
then you know Emacs hasn’t received an event. This is what happens when I press SHIFT.